2009-05-19 39 views
5

में एक ऐरे बनाएं I C# में गतिशील रूप से सरणी कैसे बना सकता है?गतिशील रूप से सी #

+3

आपको लगता है कि से क्या मतलब है? आप जो कोशिश कर रहे हैं उसके कुछ छद्म कोड दिखाएं। – shahkalpesh

+1

क्या आपका मतलब है कि आपको सरणी का आकार बदलने में सक्षम होना चाहिए? – blitzkriegz

उत्तर

1

तुम भी new ऑपरेटर सिर्फ अन्य वस्तु प्रकार के साथ की तरह उपयोग कर सकते हैं।

+7

यह काफी गतिशील नहीं है? –

+0

क्यों नहीं? आप वहां एक शाब्दिक 5 के बजाय एक चर का उपयोग कर सकते हैं। –

+0

एक बार परिभाषित किया गया है, आपको 5 से अधिक आइटम – Natrium

8

पहले एक सरणीसूची बनाएं। आइटम जोड़ें/हटाएं। और फिर ArrayList.ToArray()

और आपकी सरणी है!

3
object foo = Array.CreateInstance(typeof(byte), length); 
21

मैं Natrium के उत्तर में जोड़ना चाहता हूं कि जेनेरिक संग्रह भी इसका समर्थन करते हैं। ToArray() विधि। एक चर के साथ

int[] array = new int[5]; 

या,:

int[] array = new int[someLength]; 
+1

एक नोट के रूप में, वे ToArray() का समर्थन करते हैं क्योंकि आंतरिक रूप से, सूची एक अपरिवर्तनीय सरणी का उपयोग करके केवल सादा है और इसे आवश्यकतानुसार नए आवंटन के साथ बढ़ाना है। –

-1

उपयोग सामान्य सूची या ArrayList

List<string> stringList = new List<string>(); 
stringList.Add("1"); 
stringList.Add("2"); 
stringList.Add("3"); 
string[] stringArray = stringList.ToArray(); 
4

ठीक है इसलिए सरणी प्रारंभिकता मुझे हर बार प्राप्त करती है। तो मैंने यह सही करने के लिए 10 मिनट लग गए।

static void Main(string[] args) 
    { 
     String[] as1 = new String[] { "Static", "with", "initializer" }; 
     ShowArray("as1", as1); 

     String[] as2 = new String[5]; 
     as2[0] = "Static"; 
     as2[2] = "with"; 
     as2[3] = "initial"; 
     as2[4] = "size"; 
     ShowArray("as2", as2); 

     ArrayList al3 = new ArrayList(); 
     al3.Add("Dynamic"); 
     al3.Add("using"); 
     al3.Add("ArrayList"); 
     //wow! this is harder than it should be 
     String[] as3 = (String[])al3.ToArray(typeof(string)); 
     ShowArray("as3", as3); 

     List<string> gl4 = new List<string>(); 
     gl4.Add("Dynamic"); 
     gl4.Add("using"); 
     gl4.Add("generic"); 
     gl4.Add("list"); 
     //ahhhhhh generic lubberlyness :) 
     String[] as4 = gl4.ToArray(); 
     ShowArray("as4", as4); 
    } 

    private static void ShowArray(string msg, string[] x) 
    { 
     Console.WriteLine(msg); 
     for(int i=0;i<x.Length;i++) 
     { 
      Console.WriteLine("item({0})={1}",i,x[i]); 
     } 
    } 
-1
int[] array = { 1, 2, 3, 4, 5}; 

for (int i=0;i<=array.Length-1 ;i++) { 
    Console.WriteLine(array[i]); 
} 
संबंधित मुद्दे