搜索对象列表

本文关键字:列表 对象 搜索 | 更新日期: 2023-09-27 18:04:03

我有一个这样的类。

       class man    
      {
        public string name { get; set; }
        public string mail { get; set; }
       }

我有一个这样的列表

List<man> ppl = new List<man>();

我想在列表中搜索一个名字为"Nimal"的人,并删除该人。怎么做呢?

搜索对象列表

List怎么样?RemoveAll方法

元素定义的条件匹配的所有元素指定谓词。
arts.RemoveAll(x => x.name == "Nimal");

如果你想删除列表中的第一个:

if(arts.Any(x => x.name == "Nimal"))
{
arts.Remove(arts.FirstOrDefault(x => x.name == "Nimal"));
}

如果你想删除所有符合条件的条目,你可以这样做:

if(arts.Any(x => x.name == "Nimal"))
{
arts.RemoveAll(x => x.name == "Nimal");
}
var Filtered= ppl.FirstOrDefault(a => a.Name == "Nimal");
var finalresult= ppl.Except(Filtered).ToList();

如果您想要名字的第一次出现,否则签出@astander answer:

 var firstMatch = ppl.First (p => p.Name == "Nimal");
 ppl.Remove (firstMatch);

如果你喜欢for循环和if-condition,你可以这样做:

for (int i = 0; i < ppl.Count; i++)
{
      man m = ppl[i] as man;
      if(m.Name.ToLower() == "nimal")
          ppl.Remove(m);
}