加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB.Net和C#之间的LINQ语法差异

发布时间:2020-12-17 00:09:42 所属栏目:大数据 来源:网络整理
导读:Again,刚刚好奇: 在VB.Net中编程了几个项目之后,我惊讶的发现,C#和VB.NET LINQ使用之间有一些微妙的区别. 例如,如果要通过多个属性(列)对元素进行分组,我们需要显式创建一个新的匿名类型: var procs = from c in Process.GetProcesses() group c by new {c
Again,刚刚好奇:

在VB.Net中编程了几个项目之后,我惊讶的发现,C#和VB.NET LINQ使用之间有一些微妙的区别.
例如,如果要通过多个属性(列)对元素进行分组,我们需要显式创建一个新的匿名类型:

var procs = from c in Process.GetProcesses() 
            group c by new {c.BasePriority,c.Id} into d 
            select d;

而在VB.NET中,更简单的语法将会做:

Dim b = From c In Process.GetProcesses()
        Group c By c.BasePriority,c.Id Into Group
        Select Group

所以,在这里不需要创建一个带有“new”的类型.

有什么其他的区别?在C#和VB.NET中的LINQ语法之间是否有很好的比较?

有一些我所知道的差异,主要是VB.NET的LINQ有一些隐藏的宝石:

>不明确LINQ相关,但VB.NET支持匿名类型的Key修饰符.这允许您定义在比较匿名类型时使用匿名类型中的哪些属性.就我可以用C#来说它使用一切.这是VB.NET具有实际优势的地方.
> VB.NET支持跳过操作作为关键字:
Dim returnCustomers =从列表中跳过numToSkip选择一个可以在C#中执行此操作;但是必须通过扩展方法,没有语法糖.
> VB.NET LINQ还支持Skip While:From a In list跳过WhileCondition再次选择一个,C#可以做到这一点;但只能通过扩展方法.
>和4.5:与2& 3除了采取和采取
>“选择”关键字在VB.NET中是可选的.如果你想选择什么是当前的;那么工作正常:Dim shortWords = From l In list其中l.Length < 10在C#选择部分是必需的:var shortWords = from l in list其中l.Length < 10选择l
这些是我所知道的VB.NET的LINQ的额外“功能”.

例如;与C#:

var skip10 = (from c in customers select c).Skip(10);

并在VB.NET中

Dim skip10 = From c In Customers Skip 10

您可以在这里查看所有这些文档:http://msdn.microsoft.com/en-us/library/ksh7h19t(v=VS.90).aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读