ValueTuple (Struct) สามารถแปลงเป็น Tuple (Class) ได้โดยใช้เมธอด ToTuple() (ต้องมีแพ็กเกจ System.ValueTuple)
ติดตั้งแพ็กเกจ
- Manage NuGet Packages → ค้นหา "System.ValueTuple" → Install
ตัวอย่างโค้ด
using System;
class Program
{
static void Main()
{
var val = (5, 50, 500, 5000); // ValueTuple
Console.WriteLine("ValueTuple: " + val);
// แปลงเป็น Tuple (Class)
Tuple myTuple = val.ToTuple();
Console.WriteLine("Tuple: " + myTuple);
}
}
ผลลัพธ์
ValueTuple: (5, 50, 500, 5000) Tuple: (5, 50, 500, 5000)
เหตุผลที่แปลง: บาง API เก่ารับเฉพาะ Tuple (Class) เท่านั้น หรือต้องการ Reference Type สำหรับการทำงานบางอย่าง