gpt4 book ai didi

c# - 使用 C# 在 List<> 中查找项目

转载 作者:IT王子 更新时间:2023-10-29 04:01:36 26 4
gpt4 key购买 nike

我有一个包含对象集合的列表。

如何在此列表中搜索 object.Property == myValue 的项目?

最佳答案

您有几个选择:

  1. 使用 Enumerable.Where :

    list.Where(i => i.Property == value).FirstOrDefault();       // C# 3.0+
  2. 使用 List.Find :

    list.Find(i => i.Property == value);                         // C# 3.0+
    list.Find(delegate(Item i) { return i.Property == value; }); // C# 2.0+

如果未找到匹配项,这两个选项都返回 default(T)(对于引用类型为 null)。

如以下评论中所述,您应该针对您的场景使用适当的比较形式:

  • == 用于简单值类型或需要使用运算符重载的地方
  • object.Equals(a,b) 适用于类型未知或比较可能被覆盖的大多数场景
  • string.Equals(a,b,StringComparison) 用于比较字符串
  • object.ReferenceEquals(a,b) 用于身份比较,这通常是最快的

关于c# - 使用 C# 在 List<> 中查找项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1485766/

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