Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

วิธีรับสมาชิกที่สี่ของ Tuple ใน C#

ภาพรวม

Tuple ใน C# (System.Tuple) มีคุณสมบัติ Item1 ถึง Item7 และ Rest สำหรับสมาชิกที่ 8 ขึ้นไป สามารถเข้าถึงสมาชิกที่ 4 ผ่าน Item4

ตัวอย่าง 1: Tuple 7 สมาชิก

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("Is Tuple1 equal to Tuple2? = " + tuple1.Equals(tuple2));
        Console.WriteLine("HashCode of Tuple1 = " + tuple1.GetHashCode());
        Console.WriteLine("HashCode of 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);
        Console.WriteLine("Tuple1 Item 4th = " + tuple1.Item4);
        Console.WriteLine("Tuple2 Item 4th = " + tuple2.Item4);
    }
}

ผลลัพธ์ตัวอย่าง 1

Is Tuple1 equal to Tuple2? = True
HashCode of Tuple1 = 3231587
HashCode of Tuple2 = 3231587
Tuple1 Item 5th = 100
Tuple2 Item 5th = 100
Tuple1 Item 1st = 75
Tuple2 Item 1st = 75
Tuple1 Item 4th = 700
Tuple2 Item 4th = 700

ตัวอย่าง 2: Tuple 8 สมาชิก (มี 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 of 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);
    }
}

ผลลัพธ์ตัวอย่าง 2

HashCode of 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

สรุป

  • Tuple นิรันดร์ (immutable) และเป็น reference type
  • เข้าถึงสมาชิกผ่าน Item1 - Item7 โดยตรง
  • สมาชิกที่ 8 ขึ้นไปอยู่ใน Rest (ซึ่งเป็น Tuple อีกที)