为什么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)

为什么c#(web) linq语法与vb(windows) linq语法不同?

所列出的方法可分为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 

则获取与此匹配的整个列表

所以两个查询是相同的

我可以看到这里有两个不同:

  1. 第一个示例是用c#编写的(==表示"等于")。第二个是VB。NET (=表示等于)
  2. 第一个示例将返回Samplenull(如果Sample是一个类)。第二个- IEnumerable<Sample> (c#语法)或IEnumerable(Of Sample) (VB)。净语法)