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

推荐订阅源

V
Visual Studio Blog
I
InfoQ
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
小众软件
小众软件
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
博客园 - 三生石上(FineUI控件)
Engineering at Meta
Engineering at Meta
人人都是产品经理
人人都是产品经理
Microsoft Security Blog
Microsoft Security Blog
Last Week in AI
Last Week in AI
H
Help Net Security
爱范儿
爱范儿
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Microsoft Azure Blog
Microsoft Azure Blog
L
LangChain Blog
WordPress大学
WordPress大学
GbyAI
GbyAI
Google DeepMind News
Google DeepMind News
腾讯CDC

博客园 - 李通通

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