在Linq中使用查找



需要在满足条件时从Lookup中获取第一条记录。在下面的代码中,resId将是具有一个或多个列表值的键。在vb中,使用以下代码获取具有resId的记录和满足以下条件的记录。它工作完美…如何在c#

中使用相同的逻辑?
Lookup<Guid, Class> responseLookup;
result = responseLookup(Guid).FirstOrDefault(
Function(x) catId.Equals(x.catCode)

尝试转换,但正在接收"方法名称预期"误差

应该可以:

responseLookup[Guid].FirstOrDefault(x => catId.Equals(x.catCode))

=>是一个lambda表达式。在你的例子中,一个委托从你的列表中取出一个实例并返回一个bool

假设responseLookup(Guid)中的Guid是某些Guid值,而不是类型名称,下面应该工作(我建议使用标准命名约定并避免使用BCL类型名称作为变量名称):

Guid guid = ...;
var result = responseLookup[guid]
.FirstOrDefault(x => catId.Equals(x.catCode));

最新更新