Tuple สามารถใช้เพื่อคืนค่าหลายค่าจากวิธีการใน C # ช่วยให้เราสามารถจัดเก็บชุดข้อมูลที่ประกอบด้วยค่าต่างๆ ที่อาจเกี่ยวข้องหรือไม่เกี่ยวข้องกันหรือไม่ก็ได้ Tuple ล่าสุดที่เรียกว่า ValueTuple คือ C# 7.0 (.NET Framework 4.7)
ValueTuples มีทั้งประสิทธิภาพและอ้างอิงได้โดยใช้ชื่อที่โปรแกรมเมอร์เลือก ValueTuple จัดเตรียมกลไกที่มีน้ำหนักเบาสำหรับการคืนค่าหลายค่าจากวิธีการที่มีอยู่ ValueTuples จะพร้อมใช้งานใน แพ็คเกจ System.ValueTupleNuGet .
สาธารณะ (int, string, string) GetPerson() { }
ตัวอย่างที่ 1
using System;
namespace DemoApplication{
class Program{
public static void Main(){
var fruits = GetFruits();
Console.WriteLine($"Fruit Id: {fruits.Item1}, Name: {fruits.Item2}, Size:
{fruits.Item3}");
Console.ReadLine();
}
static (int, string, string) GetFruits(){
return (Id: 1, FruitName: "Apple", Size: "Big");
}
}
} ผลลัพธ์
ผลลัพธ์ของโค้ดด้านบนคือ
Fruit Id: 1, Name: Apple, Size: Big
ในตัวอย่างข้างต้น เราจะเห็นว่าเมธอด GetFruits() ส่งคืนค่าหลายค่า (int, string, string) ค่าของ tuples เข้าถึงได้โดยใช้ fruits.Item1, fruits.Item2, fruits.Item3.
นอกจากนี้เรายังสามารถดึงข้อมูลสมาชิกแต่ละคนได้โดยใช้การถอดรหัส
(int FruitId, สตริง FruitName, สตริง FruitSize) =GetFruits();
ตัวอย่างที่ 2
using System;
namespace DemoApplication{
class Program{
public static void Main(){
(int FruitId, string FruitName, string FruitSize) = GetFruits();
Console.WriteLine($"Fruit Id: {FruitId}, Name: {FruitName}, Size:
{FruitSize}");
Console.ReadLine();
}
static (int, string, string) GetFruits(){
return (Id: 1, FruitName: "Apple", Size: "Big");
}
}
} ผลลัพธ์
ผลลัพธ์ของโค้ดด้านบนคือ
Fruit Id: 1, Name: Apple, Size: Big