我有以下内容:List<InputRow>
,其中包含许多InputRow对象。
我想知道我是否有办法在原始列表中使用lambda函数为我提供一个新列表,其中InputRow.someProperty > 1
表示所有对象。
这将为我提供一个InputRow对象列表,其中someProperty大于1。
答案 0 :(得分:7)
你当然也可以这样做:
var list = new List<string>(){ "a", "b", "c" };
list.RemoveAll(s => s == "b");
删除现有项目而不是创建新列表。
答案 1 :(得分:6)
您可以使用LINQ(.Where()
和.ToList()扩展方法的结合):
List<InputRow> originalList = ...
List<InputRow> filteredList = originalList
.Where(x => x.someProperty > 1)
.ToList();
答案 2 :(得分:3)
不确定。你可以这样做:
var newList = inputRowList.Where(inputRow => inputRow.someProperty > 1).ToList();
答案 3 :(得分:2)
List<InputRow> newlist = oldlist.Where(x => x.someProperty > 1).ToList();
这将在someProperty > 1
条件下搜索您的旧列表,并使用.ToList()
将结果转换为列表