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

วิธีสร้าง 5-Tuple (Quintuple) ใน C#


บทนำ

คลาส Tuple<T1, T2, T3, T4, T5> แสดง 5-tuple ซึ่งเรียกว่า quintuple Tuple เป็นโครงสร้างข้อมูลที่มีลำดับขององค์ประกอบ 5 ค่า

คุณสมบัติ (Properties) ของ 5-Tuple

  • Item1 - ดึงค่าองค์ประกอบที่ 1
  • Item2 - ดึงค่าองค์ประกอบที่ 2
  • Item3 - ดึงค่าองค์ประกอบที่ 3
  • Item4 - ดึงค่าองค์ประกอบที่ 4
  • Item5 - ดึงค่าองค์ประกอบที่ 5

ตัวอย่างที่ 1: 5-Tuple ที่เป็น int ทั้งหมด

using System;

public class Demo 
{
    public static void Main(string[] args)
    {
        Tuple<int, int, int, int, int> tuple = 
            new Tuple<int, int, int, int, int>(120, 150, 270, 300, 600);
        
        Console.WriteLine("Value (Item1) = " + tuple.Item1);
        Console.WriteLine("Value (Item2) = " + tuple.Item2);
        Console.WriteLine("Value (Item3) = " + tuple.Item3);
        Console.WriteLine("Value (Item4) = " + tuple.Item4);
        Console.WriteLine("Value (Item5) = " + tuple.Item5);
        
        if (tuple.Item1 == 100)
            Console.WriteLine("Exists: Tuple Item 1 = " + tuple.Item1);
        if (tuple.Item2 == 250)
            Console.WriteLine("Exists: Tuple Item 2 = " + tuple.Item2);
        if (tuple.Item3 == 270)
            Console.WriteLine("Exists: Tuple Item 3 = " + tuple.Item3);
        if (tuple.Item4 == 300)
            Console.WriteLine("Exists: Tuple Item 4 = " + tuple.Item4);
        if (tuple.Item5 == 400)
            Console.WriteLine("Exists: Tuple Item 5 = " + tuple.Item5);
    }
}

ผลลัพธ์

Value (Item1) = 120
Value (Item2) = 150
Value (Item3) = 270
Value (Item4) = 300
Value (Item5) = 600
Exists: Tuple Item 3 = 270
Exists: Tuple Item 4 = 300

ตัวอย่างที่ 2: 5-Tuple ที่มีชนิดข้อมูลผสม

using System;

public class Demo 
{
    public static void Main(string[] args)
    {
        Tuple<string, int, string, int, int> tuple = 
            new Tuple<string, int, string, int, int>("jack", 150, "pete", 300, 600);
        
        Console.WriteLine("Value (Item1) = " + tuple.Item1);
        Console.WriteLine("Value (Item2) = " + tuple.Item2);
        Console.WriteLine("Value (Item3) = " + tuple.Item3);
        Console.WriteLine("Value (Item4) = " + tuple.Item4);
        Console.WriteLine("Value (Item5) = " + tuple.Item5);
        
        if (tuple.Item1 == "kevin")
            Console.WriteLine("Exists: Tuple Item 1 = " + tuple.Item1);
        if (tuple.Item2 == 250)
            Console.WriteLine("Exists: Tuple Item 2 = " + tuple.Item2);
        if (tuple.Item3 == "pete")
            Console.WriteLine("Exists: Tuple Item 3 = " + tuple.Item3);
        if (tuple.Item4 == 300)
            Console.WriteLine("Exists: Tuple Item 4 = " + tuple.Item4);
        if (tuple.Item5 == 400)
            Console.WriteLine("Exists: Tuple Item 5 = " + tuple.Item5);
    }
}

ผลลัพธ์

Value (Item1) = jack
Value (Item2) = 150
Value (Item3) = pete
Value (Item4) = 300
Value (Item5) = 600
Exists: Tuple Item 3 = pete
Exists: Tuple Item 4 = 300

สรุป

5-Tuple (Quintuple) ใช้จัดกลุ่มข้อมูล 5 ค่า ใน C# 7.0+ ควรใช้ ValueTuple syntax: (string, int, string, int, int) และ deconstruction: var (name1, age1, name2, age2, age3) = tuple; ซึ่งเป็น struct (value type) มีประสิทธิภาพดีกว่า และรองรับการตั้งชื่อสมาชิก (named members) เช่น (string Name, int Age, ...)