将C#转换为vb.net问题

时间:2013-07-01 06:50:05

标签: vb.net c#-to-vb.net

我想在WCF中将C#转换为vb.net,下面给出的是代码行

 var user = from u in users
               where u.Key == Id
               select u.Value;

在使用转换工具时,我得到以下结果

Dim user  = _Where u.Key = Id 

但同时我收到错误'预期声明结束'

我做错了什么?有人可以帮我解决这个问题吗?

3 个答案:

答案 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