บทนำ
คลาส 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)