LINQ

原创 2006年06月21日 16:40:00
PDC 05 上揭露了C# 3.0 及Linq Project,什麼是Linq 呢? 簡單的說,Linq 是一個語言層級
的查詢語法Library,她可以讓我們以類SQL 語法的方式來查詢語言中的變數,例如陣列,
Collections. 以實例來說:

static void ObjectQuery()
{
var people = new List ()
{
new Person { Age=12, Name="Bob" },
new Person { Age=18, Name="Cindy" },
new Person { Age=13 }
};
var teenagers = from p in people where p.Age > 12 && p.Age < 20 select p;
Console.WriteLine("Result:");
foreach(var val in teenagers)
{
Console.WriteLine("> Name = {0}, Age = {1}", val.Name, val.Age);
}
Console.ReadLine();}

class Person
{
public int Age;
public string Name;
}

Person是一個類別,ObjectQuery 函式中以Generic List建立了一個Person的Collection,
此處的var 型別是C# 3.0新增的型別, 從語言面來看,這個型別可以被指定為任何型別,
就像是Variant一樣,從Complier面來看,它是一個Lazy-determine型別,由Complier於編譯
期間來決定真正的型別,接下來的奇特語法就是Linq.
var teenagers = from p in people where p.Age > 12 && p.Age < 20 select p;
是不是覺得很像SQL呢? 這段程式碼的意思是,由people中選出Age大於12小於20的元素,
除了這種簡單的查詢之外,Linq 也支援Join,Distinct等語法.
基本上Linq只是一組Library,C# 3.0及VB.NET 9.0的Complier利用了這個Library來實現
上面的新語法,所有的特殊語法都會被編譯器編成使用Linq Library的程式.

Linq 讓程式語言又進化了.

相关文章推荐

C# LinqXML使用LINQ技术创建XML文件

  • 2017年10月27日 10:54
  • 40KB
  • 下载

Linq C# s

  • 2017年10月25日 11:07
  • 860KB
  • 下载

LINQ动态条件查询(一)

动态查询 有这样一个场景:应用程序可能会提供一个用户界面,用户可以使用该用户界面指定一个或多个谓词来筛选数据。这种情况在编译时不知道查询的细节,动态查询将十分有用。 在LINQ中,Lambda表达式是...
  • lwllai
  • lwllai
  • 2015年07月10日 11:19
  • 1777

linq.js文件,附官方说明

  • 2017年08月17日 16:42
  • 186KB
  • 下载

Linq To XML 查询,并转换为Datatable

查询的xml       2     0     0     出勤     出勤         2     0     1     出勤     缺勤   ...

Linq語法實例大全

  • 2016年09月13日 16:21
  • 195KB
  • 下载

linq to entity 调用存储过程(带返还结果集的存储过程)

linq to entity 调用存储过程: 步骤一:像添加表一样添加存储过程 如下图:     然后在Model Browser窗口中右击已经增加的存储过程——》Add Functi...
  • zzginfo
  • zzginfo
  • 2012年04月19日 10:54
  • 5752
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LINQ
举报原因:
原因补充:

(最多只允许输入30个字)