C# 中常用Lambda表達式


更多訪問:https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/statements-expressions-operators/lambda-expressions
查詢:
Select() 、SelectMany()
查詢要注意 IEnumerable<T>和IQueryable<T>
List<Student> _students = new List<Student>()
            {
                new Student {S_="01", Sname= "趙雷", Sage= DateTime.Parse("1990-01-01"), Ssex= ""},
                new Student{S_= "02", Sname= "錢電", Sage= DateTime.Parse("1990-12-21"), Ssex= ""},
                new Student{S_= "03", Sname= "孫風", Sage= DateTime.Parse("1990-05-20"), Ssex= ""},
                new Student{S_= "04", Sname= "李雲", Sage= DateTime.Parse("1990-08-06"), Ssex= ""},
                new Student{S_= "05", Sname= "周梅", Sage= DateTime.Parse("1991-12-01"), Ssex= ""},
                new Student{S_= "06", Sname= "吳蘭", Sage= DateTime.Parse("1992-03-01"), Ssex= ""},
                new Student{S_= "07", Sname= "鄭竹", Sage= DateTime.Parse("1989-07-01"), Ssex= ""},
                new Student{S_= "08", Sname= "王菊", Sage= DateTime.Parse("1990-01-20"), Ssex= ""}
            };

Select()
 為每個源值生成一個結果值。 因此,總體結果是一個與源集合具有相同元素數目的集合。 與之相反,SelectMany() 將生成單一總體結果,其中包含來自每個源值的串聯子集合。

 _students.Select(m => m.Sname);//獲取當前_students 中所有Sname

  var i=_students.SelectMany(m => m.Sname);

 // _students.Select(m => m.Sname).First();//返回一個序列的第一個元素。
 //_students.Select(m => m.Sname).FirstOrDefault();//返回序列中的第一個元素;如果序列中不包含任何元素,則返回默認值。
//_students.Where(m => m.Sname == "");//條件查詢
_students.Skip(2);//跳過指定的數量的序列中的元素,然后返回剩余元素。
_students.Take(5);//從序列的開頭返回指定的數量的連續元素。 相當於 Sql 中Top

int PageSize=5 , PageIndex =2;
_students.Take(PageSize * PageIndex).Skip(PageSize * (PageIndex - 1));//實現分頁 PageSize和PageIndex 從客戶端傳入
 
        
Contains()方法使用:

      string[] str = { "孫風", "趙雷" };
          var y = _students.Where(m => str.ToList().Select(n => n).Contains(m.Sname));//2條數據
      y = _students.Where(m => m.Sname.Contains("趙雷"));//模糊查詢

          List<string> StrList = new List<string>() { "孫風", "趙雷" };
          var x = _students.Where(m => StrList.Select(n => n).Contains(m.Sname));//2條數據
          return _students;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM