C#博客随笔之三:Linq in C#
Linq是 .net framework 3.5之后才出现的技术,只有在.net framework 3.5以上的版本才能使用
使用Linq可以极大的简化我们对数据的操作,直接上图,好吧,这个名字确实很low,因为我要是起名字绝对是很诗意的很高端,而且张X总比翠凤、香灵好一些
然后上代码啦
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace WangXuConsole { class Program { static void Main(string[] args) { //定义了一个UserInfo的类的list List<UserInfo> userInfos = new List<UserInfo>(); //向list 中添加了四个元素 userInfos.Add(new UserInfo(){ Id = 0,Name = "张零",CreatedAt = DateTime.Now}); userInfos.Add(new UserInfo() { Id = 1, Name = "张一", CreatedAt = DateTime.Now.AddDays(1) }); userInfos.Add(new UserInfo() { Id = 2, Name = "张二", CreatedAt = DateTime.Now.AddDays(-1) }); userInfos.Add(new UserInfo() { Id = 3, Name = "张三", CreatedAt = DateTime.Now.AddDays(-2) }); //讲元素的内容输出出来 foreach (var userInfo in userInfos) { Console.WriteLine("Id为{0},名字为{1},创建时间为{2}",userInfo.Id,userInfo.Name,userInfo.CreatedAt); } Console.WriteLine("接下来按照时间排序"); var list = userInfos.OrderBy(p => p.CreatedAt); foreach (var item in list) { Console.WriteLine("Id为{0},名字为{1},创建时间为{2}", item.Id, item.Name, item.CreatedAt); } Console.WriteLine("接下来进行过滤,筛选出id>1的元素"); var list1 = userInfos.Where(p => p.Id > 1); foreach (var item in list1) { Console.WriteLine("Id为{0},名字为{1},创建时间为{2}", item.Id, item.Name, item.CreatedAt); } Console.Read(); } } public class UserInfo { public int Id { get; set; } public string Name { get; set; } public DateTime CreatedAt { get; set; } } }
我们可以看到,使用Linq,可以直接通过语句来筛选数据,而无需再通过手动的去编写代码,来对元素进行过了
这可以极大的简化 程序员在开发过程中的代码量,可以让程序员更注重逻辑,而并非代码.可以很好的提高程序的运行效率
而且在配合EntityFramework 时候还可以动态的生成sql语句,对数据库的数据进行筛选。
活学活用,have fun。
么么么么哒