2011-10-08 14 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

@ JimLahmanあなたが正しい間に、与えられたコードで、クエリは 'foreach'の前にある' .ToList() 'メソッドで実行されます。 'foreach'が実行された時点で、リストにはすでにすべての文字列値が含まれています。 –

関連する問題