C# での Select と ConvertAll の違い 質問する

C# での Select と ConvertAll の違い 質問する

いくつかのリストがあります:

List<int> list = new List<int> { 1, 2, 3, 4, 5 };

リストの要素に何らかの変換を適用したいのですが、これには 2 つの方法があります。

List<int> list1 = list.Select(x => 2 * x).ToList();
List<int> list2 = list.ConvertAll(x => 2 * x).ToList();

これら2つの方法の違いは何ですか?

ベストアンサー1

Selectは LINQ 拡張メソッドであり、すべてのIEnumerable<T>オブジェクトで機能しますが、ConvertAllは によってのみ実装されますList<T>ConvertAllメソッドは .NET 2.0 以降に存在していますが、LINQ は 3.5 で導入されました。

Selectあらゆる種類のリストで機能するため、を優先する必要がありますConvertAllが、基本的には同じことを行います。

おすすめ記事