最近在linq的使用中一些常用函数记录(主要是lambda写法)
1. sql 中的in在LINQ中使用 Contains. not in 你就应该知道了
eg:
List list= new List(){"a","b"};
var a= xcjls.Where(p => p.STATUS == "bbbb").Where(p => list.Contains(p.Name)).ToList();
var a= xcjls.Where(p => p.STATUS == "bbbb").Where(p => list.Contains(p.Name)).ToList();
2. linq select
eg:
var a = xcjls.Select(p => p.Name).ToList(); //返回Name 的List<string>
var a= xcjls.Where(p =>p.STATUS == "bbbb").Select((s,i) => new {name=s.Name,job=s.job }); //(s,i)中s表示返回的实体,i是编号
//等价于
var a= xcjls.Where(p =>p.STATUS == "bbbb").Select(s=> new {name=s.Name,job=s.job });
var a= xcjls.Where(p =>p.STATUS == "bbbb").Select((s,i) => new {name=s.Name,job=s.job }); //(s,i)中s表示返回的实体,i是编号
//等价于
var a= xcjls.Where(p =>p.STATUS == "bbbb").Select(s=> new {name=s.Name,job=s.job });
3.linq list Groupby 转Dictionary
eg:
List<T> list=.....;
Dictionary<string,List<T>> dict = list.GroupBy(k =>T.X) // 按T实体的X属性进行分组
.ToDictionary( // 构造字典
g => g.Key, // 以每组的Key作为键
g => g.ToList()); // 生成List<T>列表
Dictionary<string,List<T>> dict = list.GroupBy(k =>T.X) // 按T实体的X属性进行分组
.ToDictionary( // 构造字典
g => g.Key, // 以每组的Key作为键
g => g.ToList()); // 生成List<T>列表
五月营销软件:五月论坛营销软件、五月百度知道全自动问答软件