3

次のものがあります。List<InputRow>これには、多数の InputRow オブジェクトが含まれています。

InputRow.someProperty > 1元のリストでラムダ関数を使用して、すべてのオブジェクトの新しいリストを作成する方法があるかどうか疑問に思っています。

これにより、1 より大きい someProperty を持つすべての InputRow オブジェクトのリストが残ります。

4

4 に答える 4

7

もちろん、これを行うこともできます:

var list = new List<string>(){ "a", "b", "c" };

list.RemoveAll(s => s == "b");

新しいリストを作成する代わりに、アイテムを削除します。

于 2012-04-23T19:15:45.260 に答える
6

LINQ(.Where()および.ToList()拡張メソッドの組み合わせ)を使用できます。

List<InputRow> originalList = ...
List<InputRow> filteredList = originalList
    .Where(x => x.someProperty > 1)
    .ToList();
于 2012-04-23T19:13:36.623 に答える
3

もちろん。あなたはこれを行うことができます:

var newList = inputRowList.Where(inputRow => inputRow.someProperty > 1).ToList();
于 2012-04-23T19:13:58.680 に答える
2
List<InputRow> newlist = oldlist.Where(x => x.someProperty > 1).ToList();

これにより、条件に基づいて古いリストが検索され、someProperty > 1を使用して結果がリストに変換されます。.ToList()

于 2012-04-23T19:13:52.057 に答える