Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Lấy phần tử đầu tiên của Tuple trong C#

Giới thiệu

Tuple cung cấp các thuộc tính chỉ đọc Item1, Item2, ..., Item7 và Rest (cho tuple 8 phần tử) để truy cập phần tử theo vị trí.

Ví dụ 1: Tuple 7 phần tử, so sánh Item1 và Item5

using System;

public class Demo
{
    public static void Main(string[] args)
    {
        var tuple1 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500);
        var tuple2 = Tuple.Create(75, 200, 500, 700, 100, 1200, 1500);

        Console.WriteLine("Tuple1 bằng Tuple2? = " + tuple1.Equals(tuple2));
        Console.WriteLine("HashCode Tuple1 = " + tuple1.GetHashCode());
        Console.WriteLine("HashCode Tuple2 = " + tuple2.GetHashCode());
        Console.WriteLine("Tuple1 Item 5th = " + tuple1.Item5);
        Console.WriteLine("Tuple2 Item 5th = " + tuple2.Item5);
        Console.WriteLine("Tuple1 Item 1st = " + tuple1.Item1);
        Console.WriteLine("Tuple2 Item 1st = " + tuple2.Item1);
    }
}

Kết quả

Tuple1 bằng Tuple2? = True
HashCode Tuple1 = 3231587
HashCode Tuple2 = 3231587
Tuple1 Item 5th = 100
Tuple2 Item 5th = 100
Tuple1 Item 1st = 75
Tuple2 Item 1st = 75

Ví dụ 2: Tuple 8 phần tử (có Rest)

using System;

public class Demo
{
    public static void Main(string[] args)
    {
        var tuple = Tuple.Create(1200, 1500, 2200, 2700, 3100, 3500, 4500, 5500);

        Console.WriteLine("HashCode Tuple = " + tuple.GetHashCode());
        Console.WriteLine("Tuple Item 1st = " + tuple.Item1);
        Console.WriteLine("Tuple Item 2nd = " + tuple.Item2);
        Console.WriteLine("Tuple Item 3rd = " + tuple.Item3);
        Console.WriteLine("Tuple Item 4th = " + tuple.Item4);
        Console.WriteLine("Tuple Item 5th = " + tuple.Item5);
        Console.WriteLine("Tuple Item 6th = " + tuple.Item6);
        Console.WriteLine("Tuple Item 7th = " + tuple.Item7);
        // tuple.Rest chứa phần tử thứ 8 (Item8)
    }
}

Kết quả

HashCode Tuple = 49989024
Tuple Item 1st = 1200
Tuple Item 2nd = 1500
Tuple Item 3rd = 2200
Tuple Item 4th = 2700
Tuple Item 5th = 3100
Tuple Item 6th = 3500
Tuple Item 7th = 4500

Chú ý

  • Tuple tối đa 8 phần tử trực tiếp; phần tử thứ 8 truy cập qua Rest.Item1 (vì Rest là Tuple<T8>).
  • Từ C# 7, dùng ValueTuple với tên thành phần: (int Id, string Name) và deconstruction var (id, name) = tuple;.