Tuple สามารถซ้อนกันได้ (Nested Tuple) โดยวาง Tuple อีกตัวหนึ่งเป็นองค์ประกอบหนึ่งของ Tuple ภายนอก ใช้ Tuple.Create สร้าง Tuple 巢狀
ตัวอย่าง: Tuple 8 องค์ประกอบ ที่ตัวที่ 7 เป็น Nested Tuple
using System;
public class Program
{
public static void Main()
{
var tuple = Tuple.Create(100, 200, 300, 400, 500, 600, Tuple.Create(720, 750, 780), 800);
Console.WriteLine(tuple.Item1); // 100
Console.WriteLine(tuple.Item2); // 200
Console.WriteLine(tuple.Item3); // 300
Console.WriteLine(tuple.Item4); // 400
Console.WriteLine(tuple.Item5); // 500
Console.WriteLine(tuple.Item6); // 600
// เข้าถึง Nested Tuple (Item7)
Console.WriteLine("\nNested Tuple...");
Console.WriteLine(tuple.Item7.Item1); // 720
Console.WriteLine(tuple.Item7.Item2); // 750
Console.WriteLine(tuple.Item7.Item3); // 780
// องค์ประกอบที่ 8 (ผ่าน Rest property)
Console.WriteLine("\n8th element...\n" + tuple.Rest.Item1); // 800
}
}
ผลลัพธ์
100 200 300 400 500 600 Nested Tuple... 720 750 780 8th element... 800
ข้อจำกัด Tuple แบบเก่า: รองรับสูงสุด 8 องค์ประกอบโดยตรง องค์ประกอบที่ 8 ต้องเป็น Tuple (Rest) เสมอ