为什么`select`和`sub`在VB Linq表达式中有括号?

Rid*_*ari 4 linq vb.net c#-to-vb.net

我从C#转换了以下查询:

src.Select((c, i) => src.Substring(i)).Count(sub => sub.StartsWith(target))
Run Code Online (Sandbox Code Playgroud)

到VB.NET查询:

src.[Select](Function(c, i) src.Substring(i)).Count(Function([sub]) [sub].StartsWith(target))
Run Code Online (Sandbox Code Playgroud)

使用Developer Fusion.我只是想知道为什么VB.NET版本始终有[].

cad*_*ll0 7

select并且sub是VB.NET中的关键字


Bro*_*ass 5

Sub并且Select是VB.NET中的关键字,所以你必须特别标记它们才能将它们用作变量名 - 通常使用关键字作为变量名应该避免 - 只需重命名它们就可以摆脱括号.


Jar*_*Par 5

之所以是,无论是SelectSub是保留字在VB.Net.在[]他们周围的是,使他们不作为关键字进行处理的逃逸机制