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。
么么么么哒