2011-10-08 15 views

उत्तर

2

इस प्रयास करें:

string list = string.Join(string.Empty, Enumerable.Range(1, 31)); 

क्षमा करें, मैं केवल स्ट्रिंग के लिए बदल दिया।

var list = string.Join(",", Enumerable.Range(1, 31)).Split(',').ToList(); 
+0

में शामिल होने और फिर बंटवारे मेरे लिए काफी अक्षम लगता है। क्यों न सिर्फ 'चयन' का उपयोग कर रहे हैं? –

6
static void Main(string[] args) 
    { 
     List<string> test; 
     test = Enumerable.Range(1, 31).Select(n => n.ToString()).ToList(); 
     foreach (var item in test) 
     { 
      Console.WriteLine(item); 
     } 
     Console.ReadLine(); 
    } 

यह एक प्रिंट मेरे लिए 31 लाइनों :)।

enter image description here

+0

चूंकि _n_ को _IEnumerable_ से विरासत में नहीं मिला है, _test_ स्थगित निष्पादन द्वारा कार्यान्वित किया गया है। _GetRange_ द्वारा लौटाया गया मूल्य कार्रवाई करने के लिए आवश्यक जानकारी है। क्वेरी ** ** ** तक नहीं की जाती है जब तक ऑब्जेक्ट को _GetEnumerator_ विधि या _foreach_ का उपयोग करके गणना नहीं किया जाता है। –

+1

@ जिमलाहमैन, जब आप सही हैं, तो दिए गए कोड में, क्वेरी 'foreist') विधि से पहले की जाती है, जो' foreach' से पहले आता है। उस समय 'foreach' निष्पादित किया गया है, सूची में पहले से ही सभी स्ट्रिंग मान शामिल हैं। –

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