什么是LINQ?
Linq是在.NET Framework 3.5 之后的版本出现的.
在程序中的数据和数据库的数据相反,保存在类对象或结构
中的数据差异很大。没有通用的查询语言从数据结构中获取
数据
LINQ: 语言集成查询(Language Integrated Query)是一
组用于C#和Visual Basic语言的扩展。它允许编写C#或Visual
Basic代码以查询数据库相同的方式操作内存数据。
LINQ包含 DLinq 和 XLinq
使用时需引用Linq命名空间
System.Linq
查询一数组中大于等于60的元素,代码如下:
int[] numberArr = new int[] { 100, 90, 80, 70, 60, 50, 40, 30, 20, 10 };
//在scores表中查找大于等于60的元素
IEnumerable<int> numRes = from num in numberArr where num >= 60 select num;
foreach (int i in numRes)
{
Console.WriteLine(i);
}
匿名类型借助var关键字进行创建,可以把它理解为类型占
位符,它并不是C#中的一种基本类型。它能在你编写程序的
时候,自动计算出等式右边的类型,而且支持智能感知。
var定义的可以认为是任意类型,你给他赋值是什么类型,他就是什么类型,
例如,下面这些语句都和合法的:
var number = 15;
var fo = 1.5f;
var bo = false;
var arr = new[] { 1, 2, 3, 4 };
// 自定义类型
// var mycalss = new myCalss();
匿名类型成员必须使用成员赋值,简单名称或成员访问来声明
匿名类型的创建语法:
var person = new { Name = "Czhenya", Sex = "男" };
Console.WriteLine(person.Name);
Console.WriteLine(person.Sex);
感觉可以理解为:有个Person类,他有个两个参数的重载构造函数(参数分别是:姓名,性别),这样就创建了一个person的实例,并且这个实例包含有姓名,性别的两个属性。
使用匿名类型需要注意:
(1)匿名类型只能和局部变量配合使用,不能用于类成员;
(2)由于匿名类型没有名字,所以必须使用var关键词作为变
量类型
当编译器遇到匿名类型的对象初始化时,创建了一个有名字
的新类类型。
对于每一个成员初始化器,编译器推断其类型并在新的类中
创建这个类型的私有变量,然后创建用于访问这个变量的读
写属性。
如果编译器遇到了另一个具有相同参数名、相同引用类型名
和相同顺序的匿名类型,它会重复这个类型并直接创建新的
实例,而不会创建新的匿名类型。
这个LINQ还是在第一次学习C#的时候学习的,由于基本没有使用过,到了现在已经没有什么印象了,再次回头来看看,感觉完全是新的东西,感觉还是有些收获的,希望本篇博文对你也有所帮助哦!
相关推荐:C# 之 LINQ的查询语法