C# 检查要添加到的LINQ查询的内容

C# 检查要添加到的LINQ查询的内容,c#,linq,C#,Linq,我正在创建一个LINQ查询,在从列表中添加内容之前需要检查内容,所以我得到的是 var foo = (from f in list1 from p in list1.list2 from m in p.Bar let t = m.Type let c = someMethod(t) where c.Type == type && !foo.Contains(p) select p).ToList(); 这个!foo.C

我正在创建一个LINQ查询,在从列表中添加内容之前需要检查内容,所以我得到的是

var foo = (from f in list1
     from p in list1.list2
     from m in p.Bar
     let t = m.Type
     let c = someMethod(t)
     where c.Type == type && !foo.Contains(p)
     select p).ToList();

这个!foo.Contains(p)是不允许的,那么有没有办法在查询进行时或在ToList()之前检查查询?我是否应该添加Distinct()来执行与条件相同的操作?

无法访问查询,因为它是以您正在执行的方式构建的。如果要确保某个特定值在输出中只出现一次,则
Distinct
是最佳方法

无法访问查询,因为它是以您正在执行的方式构建的。如果要确保某个特定值在输出中只出现一次,则
Distinct
是最佳方法

无法访问查询,因为它是以您正在执行的方式构建的。如果要确保某个特定值在输出中只出现一次,则
Distinct
是最佳方法

无法访问查询,因为它是以您正在执行的方式构建的。如果您想确保某个特定值在输出中只出现一次,那么
Distinct
是最好的方法

我认为会是这样,只是不知道在查询中是否有自动LINQ方法,我认为会是这样,只是不知道在queryI中是否有一些自动LINQ方法,我认为会是这样,只是不知道在queryI中是否有一些自动LINQ方法,我认为会是这样,只是不知道在查询中是否有一些自动LINQ方法