LINQ语言集成查询

LINQ是C#针对数据集的一种查询方式。

例如,此时存在一个数组

string[] milks = { "8.蒙牛a", "5.伊利a", "2.小洋人", "4.纯享a" };

我想查询该数组中以"a"结尾并按其本身排序时。

var items = from s in milks//查询该数组

where s.EndsWith("a") //哪些以“a”结尾

orderby s//本身排序

 select s;//查询

结果如下:


上述方法使用于数组、列表。

若此时数据源为DataTable。

//构造测试数据

DataTable milks_dt = new DataTable; 

//构造列 

milks_dt.Columns.Add("Id");

milks_dt.Columns.Add("Milk"); 

//添加行x4

object[] row = new object[milks_dt.Columns.Count];

for(int i = 0; i < milks.Length; i++)

{

    row[0] = milks[i].Split('.')[0];

    row[1] = milks[i];

    milks_dt.Rows.Add(row);

}

//此时转换

var milksItem = milks_dt.AsEnumerable();

//AsEnumerable - 返回一个System.Collections.Generic.IEnumerable`1对象,其中泛型参数T为System.Data.DataRow。 该对象可以在LINQ表达式中使用或方法查询。

var items = from x in milkItems where x.Field<string>("Name").EndsWith("a") orderby x.Field<string>("Id") select x;

执行结果如图,同样的结果只不过单个元素变成了DataRow:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容