Thực hiện thao tác chuyển một nguồn dữ liệu (đối tượng, bảng, …) từ hình thức này sang hình thức khác, ví dụ chúng ta có bảng NHANVIEN lưu trữ thông tin nhân viên gồm mã nhân viên, tên, ngày sinh, email,…. nhưng nhiều lúc chúng ta chỉ cần xem thông tin nhân viên với một vài thông tin như mã nhân viên và email mà không cần quan tâm đến các thông tin khác.
Các toán tử thuộc nhóm chiếu (hay chọn) gồm:
Toán tử | Mô tả | Cú pháp C# | Cú pháp VB |
Select | Chuyển các giá trị dựa trên một hàm chuyển | select | Select |
SelectMany | Chuyển các chuỗi các giá trị dựa trên hàm chuyển | Dùng nhiều mệnh đề from | Dùng nhiều mệnh đề From |
Ví dụ toán tử Select với C#
List<string> words = new List<string>() { "an", "apple", "a", "day" }; var query = from word in words select word.Substring(0, 1); foreach (string s in query) Console.WriteLine(s);
Ví dụ toán tử Select với VB
Dim words = New List(Of String) From {"an", "apple", "a", "day"} Dim query = From word In words Select word.Substring(0, 1) Dim sb As New System.Text.StringBuilder() For Each letter As String In query sb.AppendLine(letter) Console.WriteLine(letter) Next
Ví dụ toán tử SelectMany với C#
List<string> phrases = new List<string>() { "an apple a day", "the quick brown fox" }; var query = from phrase in phrases from word in phrase.Split(' ') select word; foreach (string s in query) Console.WriteLine(s);
Kết quả trong LINQPad
Ví dụ toán tử SelectMany với VB
Dim phrases = New List(Of String) From {"an apple a day", "the quick brown fox"} Dim query = From phrase In phrases From word In phrase.Split(" "c) Select word Dim sb As New System.Text.StringBuilder() For Each str As String In query sb.AppendLine(str) Console.WriteLine(str) Next
Kết quả trong LINQPad
Ý kiến bài viết