2013-01-08 8 views
14

संभव डुप्लिकेट:
How do I quicky fill an array with a specific value?सी # .NET में एक भी मूल्य के साथ एक पूर्णांक सरणी प्रारंभ

वहाँ की तरह एक एकल मान -1 के बिना साथ एक पूर्णांक सरणी प्रारंभ करने का कोई तरीका है प्रत्येक आइटम को स्पष्ट रूप से असाइन करना है?

असल में, अगर मैं

int[] MyIntArray = new int[SomeCount]; 

है सभी आइटम डिफ़ॉल्ट रूप से 0 सौंपा है। क्या लूप का उपयोग किए बिना उस मान को -1 में बदलने का कोई तरीका है? या {} का उपयोग कर स्पष्ट रूप से प्रत्येक आइटम असाइन करना?

+4

का मूल्य है कि इस http://stackoverflow.com/questions/13980570/how-to-intialize-integer-array-in -सी-तेज/जो चर्चा करता है कि इसे कुशलतापूर्वक कैसे किया जाए और http://stackoverflow.com/questions/10519275/high-memory-consumption-with-enumerable-ेंज कैसे बड़े सरणी के लिए ToArray का उपयोग नहीं करें। –

उत्तर

37
int[] myIntArray = Enumerable.Repeat(-1, 20).ToArray(); 
+3

एक बार सभी ToArray के लिए '.ToArray() ' – mlorbetske

+4

+1 को न भूलें। उपयोग करने से पहले कृपया पढ़ें [एन्यूमेरेबल.रेंज के साथ उच्च मेमोरी खपत] (http://stackoverflow.com/questions/10519275/high-memory-consumption-with-enumerable-ेंज) यदि आपकी सरणी बड़ी है। –

+0

और int के अलावा अन्य प्रकार के लिए, टेम्पलेट फॉर्म का उपयोग करें, उदाहरण के लिए। संख्यात्मक। (1,20) दोहराएं। ToArray(); – dlchambers

11

आप एक ही मूल्य मिल गया है (या बस कुछ ही) आप स्पष्ट रूप से एक collection initializer

int[] MyIntArray = new int[] { -1 }; 

बहुत सारे यदि आपने उपयोग कर उन्हें सेट कर सकते हैं, तो आप इस

int[] MyIntArray = Enumerable.Repeat(-1, YourArraySize).ToArray(); 
तरह Enumerable.Repeat उपयोग कर सकते हैं
+1

नए int [आकार] में कुछ आकार डालें और यह कथन काम नहीं करेगा। भले ही आप 50 के जैसे स्थिर आकार डाल दें। तो, मुझे नहीं लगता कि यह सही उत्तर है। –

+1

@ फ़ारहानहाफीज़ आप बिल्कुल सही हैं, मैंने मूल रूप से प्रश्न को गलत तरीके से पढ़ा और तुरंत मेरा जवाब संपादित करने के लिए चला गया, मेरी माफ़ी – mlorbetske

15

आप Enumerable.Repeat विधि इस्तेमाल कर सकते हैं

int[] myIntArray = Enumerable.Repeat(1234, 1000).ToArray() 

1000 तत्वों की एक सरणी पैदा करेगा, सभी इसके अलावा बाहर की जाँच 1234.

+1

केवल उत्तर दें कि यह स्पष्ट है। – ozgur

संबंधित मुद्दे