我想在WCF中将C#转换为vb.net,下面给出的是代码行
var user = from u in users
where u.Key == Id
select u.Value;
在使用转换工具时,我得到以下结果
Dim user = _Where u.Key = Id
但同时我收到错误'预期声明结束'
我做错了什么?有人可以帮我解决这个问题吗?
答案 0 :(得分:3)
实际上使用查询语法大致相同:
Dim users = From user In users
Where user.Key = Id
Select user
Select
是退化的,如果您愿意,可以使用方法语法:
users.Where(Function(user) user.Key = ID)
答案 1 :(得分:0)
Dim user = From u in users Where u.Key = id
Select u.Value
您也可以使用lambda。
Dim user = users.FirstOrDefault(Function(u)u.Key = id)
在Lambda中,当您使用密钥时,我使用了FirstOrDefault。这意味着当找到第一条记录时,搜索剩余的集合不会浪费额外的时间。它还意味着user
如果找不到任何内容将null
。如果它只是一个Where
子句,你最终可能会得到一个空集合。
答案 2 :(得分:0)
试试这个:
Dim user = From u in users
Where u.Key = Id
Select u.Value