C#Linq查询Select
·
Language-Integrated 查询(LINQ)是基于将查询功能直接集成到 C# 语言的一组技术的名称。 传统上,针对数据的查询表示为简单字符串,无需在编译时进行类型检查或 IntelliSense 支持。 此外,必须了解每种数据源类型的不同查询语言:SQL 数据库、XML 文档、各种 Web 服务等。 使用 LINQ 时,查询是一流的语言构造,就像类、方法和事件一样。
编写查询时,LINQ 最明显的“语言集成”部分是查询表达式。 查询表达式以声明性 查询语法编写。 通过使用查询语法,可以使用最少的代码对数据源执行筛选、排序和分组作。 使用相同的查询表达式模式从任何类型的数据源查询和转换数据。
所有 LINQ 查询操作都包括三个不同的动作。
- 获取数据源。
- 创建查询。
- 执行查询
一.语句查询
from 迭代变量 in数据源 (集合/数组) where 筛选条件 select 迭代变量
//1.创建一个数据源
int[] ints = { 1, 2, 3 };
//2.查询语句 其中n是迭代变量,ints是数据源,
var linqint=from n in ints
select n;
//3.执行
foreach (var n in linqint)
{
Console.WriteLine(n);
}
Console.ReadLine();

这个是一个演示。当然也可以直接遍历ints,也能实现效果。
select用法,
List<Dictionary<string, int>> ints2 = new List<Dictionary<string, int>>()
{ new Dictionary<string,int>(){{"a",11} },
new Dictionary<string,int>(){{"b",22} },
new Dictionary<string,int>(){{"c",33} },
};
//n就是dictionary<string, int>
var linqints2 = from n in ints2
select n.Keys;
foreach (var n in linqints2)
{
Console.WriteLine("keys:"+n.FirstOrDefault());
}
//select new在LINQ查询中用于创建匿名类型或已知类型的对象
var linqints_2=from n in ints2
select new
{
a = n.Values.FirstOrDefault(),
b= n.Keys.FirstOrDefault(),
} ;
foreach (var item in linqints_2)
{
Console.WriteLine("keys:" + item.a.ToString()+"value:"+item.b.ToString());
}

更多推荐


所有评论(0)