List<Model> strList = new List<Model>() { new Model(){Id=1,Name = "張三"}, new Model(){Id=11,Name = "張三1"}, new Model(){Id=2,Name = "李四"}, new Model(){Id=3,Name = "王五"}, new Model(){Id=30,Name = "王五"}, new Model(){Id=4,Name = "趙六"}, }; //查詢List對象某個字段 var names = strList.Select(t => t.Name).ToList(); //字段值合並 string mergeName = string.Join("|", names.ToArray());
//根據某個字段分組
var types = strList.GroupBy(x => x.Name)
.Select(group => new Model
{
Name = group.Key,
}).ToList();
//List中實現類似SQL 查詢 select in...
List<int> whereList = new List<int>() { 1, 3 };
List<Model> list = strList.Where(x => whereList.Contains(x.Id)).ToList();
foreach (var model in list)
{
Console.WriteLine("Id:" + model.Id + "Name:" + model.Name);
}
Console.WriteLine("list count==" + list.Count);
//更改list中某個字段
list.ForEach(o => o.Age = 33);
list.All(o => { o.Age = 22; return true; });
//List中獲取最大值 int maxA = list.Max(x => x.A);//獲取鏈表中對象屬性A的最大值
數組、list轉化
List<string> listS=new List<string>();
listS.Add("str");
listS.Add("hello");
string[] str=listS.ToArray();
string[] stauts = dict[0].SDValue.Split('|');
List<string> tempStatus = new List<string>(stauts);
where = where.And(o => tempStatus.Contains(o.STATUS));
