惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
J
Java Code Geeks
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
D
DataBreaches.Net
腾讯CDC
GbyAI
GbyAI
I
InfoQ
博客园 - Franky
G
Google Developers Blog
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V
Visual Studio Blog
Vercel News
Vercel News
博客园_首页
MyScale Blog
MyScale Blog
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium
V
V2EX
T
The Blog of Author Tim Ferriss
M
MIT News - Artificial intelligence
雷峰网
雷峰网
H
Hackread – Cybersecurity News, Data Breaches, AI and More
大猫的无限游戏
大猫的无限游戏
The GitHub Blog
The GitHub Blog

博客园 - 李通通

c#窗体png图片 c# 控件透明 资料整理 提升windows forms应用速度的几个简单方法 利用压缩网页来提升网站浏览速度(转载) datalist嵌套datalist的实例 - 李通通 - 博客园 求助。问个关于NBear的简单问题 - 李通通 - 博客园 一些flash播放器 技巧/诀窍:在ASP.NET中重写URL SEO参考:DIV+CSS三行两列经典布局 - 李通通 - 博客园 使用 jQuery 简化 Ajax 开发 未来职业定位 下一代数据访问:使概念级别成为现实 LINQ 项目 .NET 语言集成查询 获得汉字字符串的首字母(T-SQL函数) asp.net控件开发基础(10) -- 集合属性的使用 asp.net控件开发基础(9) -- 属性类型转换器 asp.net控件开发基础(8) -- 复合控件实现事件 ClientScriptManager类,用于管理客户端脚本引发服务器事件回发
LINQ
李通通 · 2007-05-10 · via 博客园 - 李通通

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 让程序语言又进化了。