- [C#] Hướng dẫn fix lỗi Visual Studio 2022 not Support Target Net Framework 4.5.2
- [C#] Giới thiệu thư viện Sunny UI thiết kế giao diện trên Winform
- [DATABASE] Hướng dẫn thêm và cập nhật Extended Property Column trong Table Sqlserver
- [DEVEXPRESS] Hướng dẫn sử dụng Vertical Gridview để hiển thị thông tin sản phẩm
- [C#] Hướng dẫn sử dụng Json Schema để Validate chuỗi string có phải json
- [C#] Hướng dẫn sử dụng công cụ Clean Code trên Visual Studio
- [C#] Hướng dẫn Drag and Drop File vào RichTextBox
- [C#] Hướng dẫn tạo hiệu ứng Karaoke Text Effect Winform
- [C#] Sử dụng thư viện ZedGraph vẽ biểu đồ Line, Bar, Pie trên Winform
- [DATABASE] Hướng dẫn sort sắp xếp địa chỉ IP trên sqlserver sử dụng hàm PARSENAME
- [C#] Theo dõi sử kiện process Start hay Stop trên Winform
- [ASP.NET] Chia sẻ source code chụp hình sử dụng camera trên website
- [C#] Chạy ứng dụng trên Virtual Desktop (màn hình ảo) Winform
- [C#] Mã hóa và giải mã Data Protection API trên winform
- [C#] Hướng dẫn tạo Gradient Background trên Winform
- [DATABASE] Hướng dẫn convert Epoch to DateTime trong sqlserver
- [DATABASE] Hướng dẫn sử dụng STRING_AGG và CONCAT_WS trong sqlserver 2017
- [C#] Hướng dẫn Copy With All Property in Class Object
- [DEVEXPRESS] Hướng dẫn load Json DataSource vào GridView
- [C#] Hướng dẫn tạo chữ ký trên winform Signature Pad
[C#] Sử dụng Value Tuple trong Csharp 7
Xin chào các bạn, bài viết hôm nay mình sẻ hướng dẫn các bạn sử dụng Value Tuple trong lập trình C#, Winform.
Từ C# 7.0, Microsoft có cung cấp cho chúng ta Value Tuple.
Cách sử dụng Value Tuple
Cách khai báo:
var person = (1, "Nguyễn", "Thảo");
//cách khai báo trên Tuple
//var person = Tuple.Create(1, "Nguyễn", "Thảo");
Ở ví dụ trên các bạn thấy mình khai báo 1 biến person, nó sẽ ngầm định hiệu person chứa 3 kiểu giá trị (int, string, string)
Cách truy cập lấy giá trị của biến person trong Value Tuple C#:
ValueTuple<int, string, string> person = (1, "Nguyễn", "Thảo");
person.Item1; // returns 1
person.Item2; // returns "Nguyễn"
person.Item3; // returns "Thảo"
Hoặc chúng ta cũng có thể khai báo một cách ngắn gọn hơn, không dùng từ khóa var nhé:
(int, string, string) person = (1, "Nguyễn", "Thảo");
person.Item1; // returns 1
person.Item2; // returns "Nguyễn"
person.Item3; // returns "Thảo"
Dạng Tuple khi khai báo yêu cầu phải từ hai giá trị trở lên.
var number = (1); // int type, không phải tuple
var numbers = (1,2); // tuple
Value Tuple không giống Tuple.
Ở trong Tuple các bạn chỉ khai báo tối đa được 8 giá trị, còn Value Tuple các bạn có thể khai báo nhiều hơn.
var numbers = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14);
Khi các bạn lấy giá trị trong tuple bằng Item1, Item2, Item3. Các bạn có thể đặt tên để dễ gợi nhớ.
(int Id, string FirstName, string LastName) person = (1, "Nguyễn", "Thảo");
person.Id; // returns 1
person.FirstName; // returns "Nguyễn"
person.LastName; // returns "Thảo"
Khi gán giá trị các bạn có thể chỉ định như sau:
var person = (Id:1, FirstName:"Nguyễn", LastName: "Thảo");
Chúng ta có thể khai báo Named Members ở bên trái hoặc bên phải
(int Id, string FirstName, string LastName) person = (PersonId:1, FName:"Nguyễn", LName: "Thảo");
(string, string, int) person = (PersonId:1, FName:"Nguyễn", LName: "Thảo");
Chúng ta có thể gán giá trị cho từng item trong Value Tuple
string firstName = "Lập trình", lastName = "VB.NET";
var per = (FirstName: firstName, LastName: lastName);
Cách truyền một Value Tuple vào hàm Void:
static void Main(string[] args)
{
DisplayTuple(1, "Lập Trình", "VB.NET");
}
static void DisplayTuple((int, string, string) person)
{
Console.WriteLine($"Id = { person.Item1}");
Console.WriteLine($"First Name = { person.Item2}");
Console.WriteLine($"Last Name = { person.Item3}");
}
Cách viết hàm trả giá trị về một kiểu Tuple:
static void Main(string[] args)
{
var person = GetPerson();
}
static (int, string, string) GetPerson()
{
return (Id:1, FirstName: "Lập Trình", LastName: "VB.NET");
}
Chúng ta cũng có thể sử dụng từ khóa Var để khai báo biến cho từng thành viên trong Value Tuple
static void Main(string[] args)
{
// use var as datatype
(var PersonId, var FName, var LName) person = GetPerson();
}
static (int, string, string) GetPerson()
{
return (Id:1, FirstName: "Nguyễn", LastName: "Thảo");
}
Value Tuple cũng cho chúng ta bỏ qua giá trị không cần sử dụng như sau:
Ở dưới đây khi chúng ta lấy giá trị Person từ hàm GetPerson()
, chúng ta muốn bỏ qua không lấy LastName.
// Sử dụng _ để bỏ qua giá trị chúng ta không cần lấy
(var id, var FName, _) = GetPerson();
Các bạn có thể tìm hiểu thêm về Tuple ở dưới đây:
Hướng dẫn sử dụng Tuple trong lập trình csharp
Thanks for watching!