gpt4 book ai didi

c# - 从列表项中删除字段等于某些项字段的项

转载 作者:行者123 更新时间:2023-11-30 13:53:41 29 4
gpt4 key购买 nike

这是我的代码:

public class Person
{
public int age;
public int grade;
public string name;
}

List<Person> _list = new List<Person>();
// .... add lots of items
var personToRemove = new Person {age = 99, grade = 7, };

如何编写从 _list 中删除的命令所有人都有相同的东西agegrade personToRemove 的值有。

最佳答案

您必须将 .RemoveAll() 与谓词一起使用,以删除 personToRemove 人员对象中具有匹配详细信息的所有人员。

所以你的查询将是。

int totalRemoved = _list.RemoveAll(x => x.age == personToRemove.age && x.grade == personToRemove.grade);

输入:

_list.Add(new Person { age = 99, grade = 7 });
_list.Add(new Person { age = 87, grade = 7 });
_list.Add(new Person { age = 57, grade = 8 });

输出:

enter image description here

编辑:

您还可以使用传统循环以优雅的方式从人员列表中删除匹配人员。

for (int i = _list.Count - 1; i >= 0; i--)
{
if (_list[i].age == personToRemove.age && _list[i].grade == personToRemove.grade)
{
_list.RemoveAt(i);
break;
}
}

关于c# - 从列表项中删除字段等于某些项字段的项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53718433/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com