Trong C#, tuple là một cấu trúc dữ liệu cho phép bạn lưu trữ và truy cập một tập hợp các giá trị khác nhau trong một đối tượng duy nhất, mà không cần tạo một lớp hoặc struct riêng biệt. Tuples thường được sử dụng khi bạn cần trả về hoặc làm việc với nhiều giá trị từ một phương thức hoặc hàm mà không muốn tạo một kiểu dữ liệu tùy chỉnh.
Có hai cách để sử dụng tuples trong C#:
- Tuples với Cú pháp Tên biến:
var person = (Name: "John", Age: 30);
Console.WriteLine($"{person.Name} is {person.Age} years old."); // Output: "John is 30 years old."
- Tuples với Dựng lớp Tuple:
var person = Tuple.Create("John", 30);
Console.WriteLine($"{person.Item1} is {person.Item2} years old."); // Output: "John is 30 years old."
Các tuple có thể chứa các kiểu dữ liệu khác nhau cho các thành phần của chúng và có thể được truy cập bằng cách sử dụng thuộc tính hoặc phương thức ItemN, trong đó N là chỉ số của thành phần trong tuple.
Ví dụ:
var data = (1, "Hello", true);
int number = data.Item1; // Truy cập thành phần đầu tiên
string text = data.Item2; // Truy cập thành phần thứ hai
bool flag = data.Item3; // Truy cập thành phần thứ ba
Từ C# 7.0 trở đi, bạn cũng có thể sử dụng cú pháp dấu gạch dưới (_) để bỏ qua các thành phần không quan trọng của tuple:
var (_, name, age) = GetPersonInfo();
Tuples là một cách tiện lợi để làm việc với các tập hợp giá trị nhỏ mà không cần tạo kiểu dữ liệu tùy chỉnh, và chúng thường được sử dụng trong lập trình hàm hoặc khi bạn muốn trả về nhiều giá trị từ một phương thức.