使用lambda函数从旧列表创建新列表

Bax*_*ter 3 c# lambda list

我有以下内容:List<InputRow>其中包含许多InputRow对象.

我想知道是否有一种方法让我在原始列表中使用lambda函数给我一个新的列表,其中InputRow.someProperty > 1包含所有对象.

这将留下一个InputRow对象列表,其中someProperty大于1.

Phi*_*hil 7

你当然也可以这样做:

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

list.RemoveAll(s => s == "b");
Run Code Online (Sandbox Code Playgroud)

它会删除原位而不是创建新列表.


Dar*_*rov 6

您可以使用LINQ(.Where().ToList()扩展方法的结合):

List<InputRow> originalList = ...
List<InputRow> filteredList = originalList
    .Where(x => x.someProperty > 1)
    .ToList();
Run Code Online (Sandbox Code Playgroud)