如何检查我的收藏中是否有符合条件的记录?

时间:2011-11-22 16:33:49

标签: c# linq

我有一个名为book的Book对象集合。 Book类有一个名为Title的字段。

是否有一种简单的方法可以使用Linq(或其他)来查明该集合是否具有标题为“Harry”的Book对象?

2 个答案:

答案 0 :(得分:8)

您可以使用Any()方法:

book.Any(b => string.Equals(b.Title, "Harry"));

这将通过您的book收藏集,直至找到标题为“Harry”或收藏集结尾的图书。如果它找到一本具有正确标题的书,它将停止通过您的收藏并返回true。如果它到达集合的末尾,则返回false。

修改:请注意,这会进行culture-insensitive次平等检查。根据您的使用情况,您可能希望使用culture-sensitive

答案 1 :(得分:0)

以@ J.Kommer所说的为基础,对文化敏感的检查看起来像这样:

book.Any(b => string.Compare(b.Title, "Harry", CultureInfo.CurrentCulture,
  CompareOptions.None) == 0);