首页 > 其他 > 详细

LINQ详细的介绍

时间:2020-08-05 14:17:00      阅读:78      评论:0      收藏:0      [点我收藏+]

基础数据搞一下

//先定义一个类
 public   class StudentModel 
    {
      public   int index { get; set; }

        public string Name { get; set; }

        public string Sex { get; set; }
      
    }
//存一点测试数据

List<StudentModel> modes = new List<StudentModel>();
            modes.Add(new StudentModel() { index=1, Name="a", Sex=""});
            modes.Add(new StudentModel() { index = 2, Name = "b", Sex = "" });
            modes.Add(new StudentModel() { index = 3, Name = "c", Sex = "" });
            modes.Add(new StudentModel() { index = 4, Name = "d", Sex = "" });
            modes.Add(new StudentModel() { index = 5, Name = "e", Sex = "" });
            modes.Add(new StudentModel() { index = 5, Name = "f", Sex = "0.5" });
            modes.Add(new StudentModel() { index = 5, Name = "g", Sex = "0.5" });  

Linq--where 

//单条件查询
var smlist = modes.Where(a => a.Sex == "").ToList(); foreach(StudentModel sm in smlist) { Console.WriteLine(sm.Name+":"+sm.Sex); }
//多条件查询或者
            var smlist1 = modes.Where(a => a.Sex == "" || a.Sex.Contains("0.5")).ToList();
            foreach (StudentModel sm in smlist1)
            {
                Console.WriteLine(sm.Name + ":" + sm.Sex);
            }
 //多条件查询并且
            var smlist2 = modes.Where(a => a.Name == "f" && a.Sex.Contains("0.5")).ToList();
            foreach (StudentModel sm in smlist2)
            {
                Console.WriteLine(sm.Name + ":" + sm.Sex);
            }
//返回列表正序排列OrderBy,倒序排列OrderByDescending
            var smlist3 = modes.Where(a => a.Sex == "").OrderBy(a=>a.Name).ToList();
            foreach (StudentModel sm in smlist3)
            {
                Console.WriteLine(sm.Name + ":" + sm.Sex);
            }
//distinct去重
            var smlist3 = modes.Where(a => a.Sex == "").OrderBy(a=>a.Name).ToList().Distinct();
            foreach (StudentModel sm in smlist3)
            {
                Console.WriteLine(sm.Name + ":" + sm.Sex);
            }

在这我说几句:以上意思就是 取出sex字段为 ‘男’并且排序,形成列表后在进行排序。

像distinct 这种操作可以自由的跟你你的需求去使用,到底是先排序再去重啊,还是先去重再排序啊,完全根据你的需求。

//返回满足条件的第一个结果first,最后一个last 
            var  smlist3 = modes.Where(a => a.Sex == "").First();
                Console.WriteLine(smlist3.Name + ":" + smlist3.Sex);

 

LINQ详细的介绍

原文:https://www.cnblogs.com/hanke123/p/13439157.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!