1

WCF で C# を vb.net に変換しようとしています。以下はコード行です。

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

変換ツールを使用すると、次の結果が得られます

Dim user  = _Where u.Key = Id 

しかし同時に、「ステートメントの終わりが必要です」というエラーが表示されます

私は何を間違っていますか?誰でもこれについて私を助けることができますか?

4

3 に答える 3

3

実際にクエリ構文を使用してもほぼ同じです。

Dim users = From user In users
            Where user.Key = Id
            Select user

Select退化しており、必要に応じて、代わりにメソッド構文を使用できます。

users.Where(Function(user) user.Key = ID)
于 2013-07-01T06:54:30.540 に答える
0
Dim user = From u in users Where u.Key = id
           Select u.Value

ラムダを使用することもできます。

Dim user = users.FirstOrDefault(Function(u)u.Key = id)

Lambda では、キーを使用しているため、FirstOrDefault を使用しました。これは、最初のレコードが見つかったときに、コレクションの残りの検索に余分な時間が費やされないことを意味します。また、何も見つからない場合も意味しuserます。nullそれが単なるWhere句である場合、空のコレクションになる可能性があります。

于 2013-07-01T06:54:45.213 に答える
0

これを試して:

Dim user = From u in users 
Where u.Key = Id 
Select u.Value
于 2013-07-01T06:55:16.843 に答える