for WPF developers
Home Profile Tips 全記事一覧

ToList 拡張メソッドでシーケンスから List を生成する

(2017/03/14 11:10:54 created.)

ToList 拡張メソッドはシーケンスから List<T> クラスを生成します。ToArray 拡張メソッドと同様にシーケンスが実体化されるため、遅延評価されなくなります。遅延評価については「3.1.54 遅延評価について」を参照してください。List<T> クラスの機能まで必要ない場合は配列を生成する ToArray 拡張メソッドを使いましょう。

サンプルコードを以下に掲載します。

Program.cs
  1. namespace Tips_Linq
  2. {
  3.     using System;
  4.     using System.Linq;
  5.  
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             var numbers = Enumerable.Range(1, 4);
  11.             Console.WriteLine(numbers.GetType().FullName);
  12.  
  13.             var numbers2 = numbers.ToList();
  14.             Console.WriteLine(numbers2.GetType().FullName);
  15.  
  16.             Console.ReadKey();
  17.         }
  18.     }
  19. }