में मैंने अभी इनमें से एक "क्या ..." क्षणों में से एक था। क्या निम्नलिखित का इरादा है और क्या सी # में सरणी की "गैर-प्राकृतिक" घोषणा के पीछे कुछ अस्पष्ट तर्क है?सी # jagged सरणी प्रकार की घोषणा रिवर्स
int[,][] i; // declares an 2D - array where each element is an int[] !
// you have to use it like this:
i = new int[2,3][];
i[1,2] = new int[0];
मैं अन्य तरीकों से अपेक्षा करता। int [,] [] एक 1-आयामी सरणी घोषित करता है जहां प्रत्येक तत्व दो आयामी सरणी है।
अजीब बात है, हालांकि, इस किस्म के नाम उल्टा होता है:
Console.WriteLine(typeof(int[,][]).Name); // prints "Int32[][,]"
कोई इस व्याख्या कर सकते हैं? क्या यह जानबूझकर है? (विंडोज़ के तहत .NET 4.5 का उपयोग करना।)
लिंक के लिए धन्यवाद। यह सब कुछ बताता है। मैं पूरी तरह से अपने तर्क से असहमत हूं कि "समझदार" क्या है, लेकिन यह एक और विषय है। कम से कम अब मुझे पता है कि किसी ने इस बारे में सोचा और कुछ सचेत (लेकिन अजीब) निर्णय लिया। (शायद ऐसा इसलिए है क्योंकि मैं जर्मन हूं और 24 "चौबीसवीं" के रूप में वर्तनी करने के लिए प्रयोग किया जाता है: डी) – Imi