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

วิธีสร้าง 6-Tuple ใน C#


บทนำ

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

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

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

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

using System;

public class Demo 
{
    public static void Main(string[] args)
    {
        Tuple<string, int, string, int, int, string> tuple = 
            new Tuple<string, int, string, int, int, string>("jack", 150, "pete", 300, 600, "allan");
        
        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);
        Console.WriteLine("Value (Item6) = " + tuple.Item6);
        
        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);
        if (tuple.Item6 == "allan")
            Console.WriteLine("Exists: Tuple Item 6 = " + tuple.Item6);
    }
}

ผลลัพธ์

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

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

using System;

public class Demo 
{
    public static void Main(string[] args)
    {
        Tuple<int, int, int, int, int, int> tuple = 
            new Tuple<int, int, int, int, int, int>(100, 150, 200, 300, 600, 1000);
        
        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);
        Console.WriteLine("Value (Item6) = " + tuple.Item6);
        
        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 == 300)
            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);
        if (tuple.Item6 == 500)
            Console.WriteLine("Exists: Tuple Item 6 = " + tuple.Item6);
    }
}

ผลลัพธ์

Value (Item1) = 100
Value (Item2) = 150
Value (Item3) = 200
Value (Item4) = 300
Value (Item5) = 600
Value (Item6) = 1000
Exists: Tuple Item 1 = 100
Exists: Tuple Item 4 = 300

สรุป

6-Tuple ใช้จัดกลุ่มข้อมูล 6 ค่า ใน C# 7.0+ แนะนำให้ใช้ ValueTuple syntax: (string, int, string, int, int, string) และ deconstruction: var (name1, age1, name2, age2, age3, name3) = tuple; ซึ่งอ่านง่ายและมีประสิทธิภาพมากกว่า (เป็น struct ไม่ใช่ class)