LINQ to Object初体验(使用对象取代二维数组作数据筛选)

VS2008里面有个神奇的东西,称之为LINQ,可以透过相同的语法方式来处理各式各样的数据(SQL,XML,Object,...),小喵此次初体验感受一下这个东西,真的很好用,初体验来做个简单的测试,请看小喵娓娓道来


VS2008里面有个神奇的东西,称之为LINQ,可以透过相同的语法方式来处理各式各样的数据(SQL,XML,Object,...),小喵此次初体验感受一下这个东西,真的很好用,初体验来做个简单的测试,请看小喵娓娓道来

先来看一张LINQ的架构图(数据来源:曹祖圣老师在TechEd2007的简报)

要看完整的请点选上面的图档,从这张图来看LINQ可以用来取得相当多的数据,而只要数据能够用程Object的形式,就能够透过LINQ来存取

接着就开始这次的初体验

先说明一下小喵要做的:小喵弄个座位表格,分别有--SeatId(座位代号),SeatName(座位名称)
然后产生测试数据200个座位数据,SeatName(座位名称)用随机数产生a-z的字母加上SeatId当作是座位名称,最后用个界面来测试使用LINQ筛选数据(找字头相同的)

这样的题目以前小喵在ASP都是用二维数组来做,在.NET里面则是可以用对象的方式取代二为数组

先建立座位的对象如下:

接着设计划面如下

 

产生的数据放在GridView1,筛选后的数据放在GridView2

接着撰写产生数据的部分

然后就是我们的重点来了,在这些数据中,想要找SeatName(座位名称)a开头的数据,以前小喵可能会用个循环逐笔查,但是有了LINQ,就可以写成以下这样

各位可以发现,用这样超短的程序就能够做到筛选。真是太好了

熟悉T-SQL的朋友,您接着就可以想像以前T-SQL里面的Grou By,Distinct,Order By等等都可以再对象里面玩,甚至可以透过JOIN,把不同的对象数据作关联之后来取数据。真是神奇啊。

这次的初体验只是约略的感受一下LINQ的威力,此次的例子只是两个字段,一个条件的筛选,各位可以试想一下,如果应用在很多字段,并且结合其他的数据(LINQ可以使用JOIN)并且使用多重条件的筛选,那么可以节省多少的程序就能够达到相同的目的。未来有其他的测试再与大家分享。

^_^


以下是签名:

  • 欢迎转贴本站的文章,不过请在贴文主旨上加上【转贴】,并在文章中附上本篇的超链接与站名【topcat姗舞之间的极度凝聚】,感恩大家的配合。
  • 小喵大部分的文章会以小喵熟悉的语言VB.NET撰写,如果您需要C#的Code,也许您可以试着用线上的工具进行转换,这里提供几个参考
    • http://converter.telerik.com/
    • http://www.carlosag.net/tools/codetranslator/
    • http://www.developerfusion.com/tools/convert/vb-to-csharp/

Microsoft MVP
Visual Studio and Development Technologies
(2005~Now)

topcat
Blog:http://www.dotblogs.com.tw/topcat


原文:大专栏  LINQ to Object初体验(使用对象取代二维数组作数据筛选)


猜你喜欢

转载自www.cnblogs.com/chinatrump/p/11490954.html