【问题标题】:Check if a List already contains an item or not?检查列表是否已经包含项目?
【发布时间】:2010-07-18 14:58:48
【问题描述】:

我使用了一个结构

public struct stuff
{
    public int ID;
    public int quan;
}

List<stuff> stuff = new List<stuff>();

如何检查列表中是否有“其中 ID = 1”的内容?

【问题讨论】:

    标签: c# list


    【解决方案1】:

    您可以非常轻松地使用 LINQ

    bool res = stuff.Any(c => c.ID == 1);
    

    【讨论】:

      【解决方案2】:
      bool isContains = stuff.Any(x => x.ID == 1);
      

      【讨论】:

      • 在列表中找到元素时返回true。
      【解决方案3】:
      if(stuf.Select(x => x.id).Contains(1))
      {
          //Do Stuff
      }
      

      【讨论】:

      • doh,这是 2 次迭代......像 stuff.Any(s => s.ID == 1); 这样的 1 次迭代会更好:)
      • @andreas-niedrmair 只有一次迭代,但更深的函数调用开销
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-18
      • 2023-03-26
      • 1970-01-01
      相关资源
      最近更新 更多