如何将VB中Linq Lookup的条件查询逻辑转换为C#实现?
VB转C#:Lookup获取第一条匹配记录的正确写法
错误原因
你遇到的“Method name expected”错误,是因为C#和VB在索引器调用、Lambda表达式语法上存在差异:
- VB用圆括号
()调用Lookup的索引器,C#必须用方括号[] - VB用
Function(x)定义Lambda,C#用x =>的语法
正确的C#转换代码
// 注意:将YourClass替换为实际的类名,resId是你提到的Guid类型键变量 Lookup<Guid, YourClass> responseLookup; var result = responseLookup[resId].FirstOrDefault(x => catId.Equals(x.catCode));
转换细节说明
- 把VB中的
responseLookup(Guid)改成C#的responseLookup[resId]:C#中通过方括号访问Lookup的分组结果 - 把VB的
Function(x) catId.Equals(x.catCode)替换为C#的x => catId.Equals(x.catCode):这是C#标准的Lambda表达式写法,用于筛选符合条件的元素
内容的提问来源于stack exchange,提问作者karthikeyan sivakumar
相关产品推荐
相关产品推荐

