string[][] Tablero = new string[3][3];
मुझे जानकारी को सहेजने के लिए एक 3x3 सरणी व्यवस्था की आवश्यकता है। मैं इसे C # में कैसे घोषित करूं?
string[][] Tablero = new string[3][3];
मुझे जानकारी को सहेजने के लिए एक 3x3 सरणी व्यवस्था की आवश्यकता है। मैं इसे C # में कैसे घोषित करूं?
जवाबों:
string[,] Tablero = new string[3,3];
आप इसे निम्न पंक्ति में सरणी आरंभीकृत सिंटैक्स के साथ उसी रूप में भी लिख सकते हैं:
string[,] Tablero = new string[3, 3] {{"a","b","c"},
{"d","e","f"},
{"g","h","i"} };
var tablero = new string[3,3];
यदि आप C # 3 या बाद में उपयोग कर रहे हैं
new string[,]
)
new string[,]
...string [,] Tablero = {{"a","b","c"}, {"d","e","f"}, {"g","h","i"} }
आप शायद यही चाहते हैं:
string[,] Tablero = new string[3,3];
यह आपको एक मैट्रिक्स जैसा सरणी बनाएगा जहां सभी पंक्तियों की लंबाई समान होगी।
आपके नमूने में सरणी एक तथाकथित दांतेदार सरणी है , अर्थात् सरणियों की एक सरणी जहां तत्व विभिन्न आकार के हो सकते हैं। एक दांतेदार सरणी को एक अलग तरीके से बनाना होगा:
string[][] Tablero = new string[3][];
for (int i = 0; i < Tablero.GetLength(0); i++)
{
Tablero[i] = new string[3];
}
आप सरणी तत्वों को डेटा के साथ भरने के लिए इनिशियलाइज़र का भी उपयोग कर सकते हैं:
string[,] Tablero = new string[,]
{
{"1.1","1.2", "1.3"},
{"2.1","2.2", "2.3"},
{"3.1", "3.2", "3.3"}
};
और दांतेदार सरणी के मामले में:
string[][] Tablero = new string[][]
{
new string[] {"1.1","1.2", "1.3"},
new string[] {"2.1","2.2", "2.3"},
new string[] {"3.1", "3.2", "3.3"}
};
आपने सिर्फ एक दांतेदार सरणी घोषित की है। इस तरह के सरणियों के सभी आयामों के लिए अलग-अलग आकार हो सकते हैं। उदाहरण के लिए:
string[][] jaggedStrings = {
new string[] {"x","y","z"},
new string[] {"x","y"},
new string[] {"x"}
};
आपके मामले में आपको नियमित सरणी की आवश्यकता है। ऊपर उत्तर देखें। दांतेदार सरणियों के बारे में अधिक
C # में 2 प्रकार के बहुआयामी सरणियाँ हैं, जिन्हें कहा जाता है Multidimensional
और Jagged
।
आपके द्वारा किए जा सकने वाले बहुआयामी के लिए:
string [,] मल्टी = नया स्ट्रिंग [3, 3];
दांतेदार सरणी के लिए आपको थोड़ा और कोड लिखना होगा:
string[][] jagged = new string[3][];
for (int i = 0; i < jagged.Length; i++)
{
jagged[i] = new string[3];
}
संक्षेप में दांतेदार सरणी दोनों तेज है और सहज ज्ञान युक्त वाक्य रचना है। अधिक जानकारी के लिए देखें: यह Stackoverflow प्रश्न
string[][] jagged = { new[] { "a", "b", "c" }, new[] { "d", "e", "f" }, new[] { "g", "h", "i" } };
या var jagged = new[] { new[] { "a", "b", "c" }, new[] { "d", "e", "f" }, new[] { "g", "h", "i" } };
इसे इस्तेमाल करे :
string[,] myArray = new string[3,3];
http://msdn.microsoft.com/en-us/library/2yd9wwz4.aspx पर एक नज़र डालें
string[,] Tablero = new string[3,3];
string[][]
है न एक दो आयामी सरणी, यह सरणियों की एक सरणी (एक है दांतेदार सरणी )। वह कुछ अलग है।
दो-आयामी सरणी घोषित करने के लिए, इस सिंटैक्स का उपयोग करें:
string[,] tablero = new string[3, 3];
यदि आप वास्तव में दांतेदार सरणी चाहते हैं , तो आपको इसे इस तरह से शुरू करने की आवश्यकता है:
string[][] tablero = new string[][] { new string[3],
new string[3],
new string[3] };
एक 3x3 (बहुआयामी) सरणी को भी इनिशियलाइज़ किया जा सकता है (आपने पहले ही घोषित कर दिया है) इस तरह:
string[,] Tablero = {
{ "a", "b", "c" },
{ "d", "e", "f" },
{ "g", "h", "i"}
};
जब आप एक बहुआयामी सरणी बनाने की कोशिश कर रहे हैं, तो आपको केवल घोषणा की तरह अल्पविराम जोड़ना होगा:
string[,] tablero = new string[3,3].
आप नीचे दिए गए कोड को भी लिख सकते हैं।
Array lbl_array = Array.CreateInstance(typeof(string), i, j);
जहाँ 'i' पंक्तियों की संख्या है और 'j' स्तंभों की संख्या है। 'टाइपोफ़ (..)' विधि का उपयोग करके आप अपने सरणी का प्रकार यानी इंट, स्ट्रिंग, डबल चुन सकते हैं