在C#中,如何检查List<>中对象的属性包含一个字符串?

时间:2013-02-09 16:12:03

标签: c# generics

我们说我有一个像这样的对象:

class Thing {
  string Id;
  string Name;
  string Message;
}

List<Thing>。在我向列表添加new Thing之前,我想检查以确保列表中没有包含该内容,但我没有完全相同的内容可供比较(因此可以& #39; t list.Contains(Thing),但我想做类似的事情)

Thing.Message属性可能相同,但其他属性不同。

如何检查List<Thing>以查看它是否包含具有等于特定字符串的.Message属性的Thing

2 个答案:

答案 0 :(得分:5)

的LINQ!

if (myList.Any(t => t.Message == "hello"))

答案 1 :(得分:2)

var addedThing = new Thing {…};
if (!things.Any(t=>t.Message == addedThing.Message)) {
    things.Add(addedThing);
}