.Net 4.0 giới thiệu 1 kiểu dữ liệu mới , kiểu dữ liệu Tuple, Tuple là kiểu dữ liệu tập hợp (typed collection) có kích thước cố định, giống như mãng trước đây, Tuple được giới thiệu cho việc tương tác với F# hoặc Python, ngoài ra nó còn làm cho code ngắn ngọn hơn, hãy xem ví dụ:
.Net Version 3.5 trở xuống
object [] objs = new object[2]
{
1, "quachnguyen"
};
Console.WriteLine(objs[0] + " " + objs[1]);
.Net 4
Tuple <int, string> name = new Tuple<int, string>(1, "quachnguyen");
Console.WriteLine(name.Item1 + " " + name.Item2);
Tuple rất dể dàng khởi tạo:
Tuple <int, int, int, int, int> MultiplesOfTwo = Tuple.Create(2, 4, 6, 8, 10);
Để truy cập vào phần tử trong Tuple ta dùng thuộc tính Item của Tuple
Console .WriteLine(MultiplesOfTwo.Item2);
Kiểu dữ liệu Tuple có thể chứa đến 7 thành phần, nếu muốn chứa thêm thành phần vào Tuple, chúng ta truyền kiểu dữ liệu Tuple vào. Like:
var multiples = new Tuple<int, int, int, int, int, int, int, Tuple<int, int, int>>
(2, 4, 6, 8,10, 12, 14, new Tuple<int, int, int>(3, 6, 9));
Nếu muốn truy cập vào kiểu dữ liệu Tuple thứ 2 ta dùng:
Console .WriteLine(multiples.Rest.Item1);
Tóm lại tại sao phải dùng Tuple? Đơn giản là làm cho nó ngắn gọn và 1 trong những yếu tố quan trong khác là chúng ta không cần phải ép kiểu.
Biên dịch không thành công với đoạn code này:
object [] objs = new object[2]
{
1, "quachnguyen"
};
Console.WriteLine(objs[0] + 1 + " " + objs[1]);
Nhưng với Tuple thì okie:
Tuple <int, string> name = new Tuple<int, string>(1, "quachnguyen");
Console.WriteLine(name.Item1 + 1 +" " + name.Item2);
Hope this help!