为什么c#(web) linq语法与vb(windows) linq语法不同?
本文关键字:linq 语法 windows 为什么 web vb | 更新日期: 2023-09-27 18:06:19
以c# web linq语法为例
var sample = (from a in db.sample where a.id == id).singleordefault();
而在Windows linq
dim sample = (from a in db.sample where a.id = id)
所列出的方法可分为LINQ
方法语法和查询语法,两者在语义上是相同的。有些人觉得查询语法简单易读,而另一些人则喜欢方法语法,因为它的表达能力强。
下面将帮助你澄清;
查询和方法语法
不相同,它们也使用相同的库System.Linq;
如果你使用下面的代码,那么只有一个对象满足你的条件
var sample = (from a in db.sample where a.id == id).singleordefault();
和
dim dm = from a in db.sample where a.id == id
则获取与此匹配的整个列表
所以两个查询是相同的
我可以看到这里有两个不同:
- 第一个示例是用c#编写的(
==
表示"等于")。第二个是VB。NET (=
表示等于) - 第一个示例将返回
Sample
或null
(如果Sample
是一个类)。第二个-IEnumerable<Sample>
(c#语法)或IEnumerable(Of Sample)
(VB)。净语法)