对匿名类型集合使用 Contains()

Jon*_*ood 5 c# linq contains

我仍在学习 LINQ,并且我有使用类似以下内容获得的匿名类型的集合。[mycontext] 是我的实际数据源的占位符:

var items = from item in [mycontext]
            select new { item.col1, item.col2, item.col3 };
Run Code Online (Sandbox Code Playgroud)

如何确定items.Contains()是否items包含匹配值?

我正在搜索的值不是匿名类型。因此,我需要编写自己的比较逻辑,最好是 lambda 表达式。

Luk*_*keH 4

如果您更喜欢使用谓词,那么您最好使用Any而不是Contains

bool exists = items.Any(x => x.col1 == "foo"
                             && x.col2 == "bar"
                             && x.col3 == 42);
Run Code Online (Sandbox Code Playgroud)