首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# 多元組 Tuple 應用:優雅處理三個及以上相關數據

     編輯:程式設計綜合問答

場景痛點

當需要臨時組合多個不同類型的值(如坐標 X/Y/Z、用戶 ID/Name/Age)時,定義專門的 Class 或 Struct 顯得繁瑣,而使用 object[] 或 dynamic 又失去類型安全。

最佳方案:Tuple<T1, T2, T3> 及泛型列表

.NET Framework 4.0+ 引入 System.Tuple 類,支持最多 8 個泛型參數(Tuple<T1...T8>),內部再嵌套 TRest 理論上無限擴展。對於固定三個元素的場景,直接使用 List<Tuple<T1, T2, T3>> 即可。

代碼示例

// 定義存儲:用戶ID、姓名、年齡
var userData = new List<Tuple<int, string, int>>();

userData.Add(Tuple.Create(1001, "張三", 25));
userData.Add(Tuple.Create(1002, "李四", 30));

// 遍歷訪問
foreach (var item in userData) {
    Console.WriteLine($"ID: {item.Item1}, Name: {item.Item2}, Age: {item.Item3}");
}

進階:C# 7.0+ 元組語法糖

現代 C# 提供更簡潔的 ValueTuple 語法(需引用 System.ValueTuple NuGet 包):

var userList = new List<(int Id, string Name, int Age)>();
userList.Add((1001, "張三", 25));
// 訪問更直觀
Console.WriteLine($"Name: {userList[0].Name}");

總結

Tuple 為「臨時數據組合」提供了標準、類型安全、無需定義類的解決方案,List<Tuple<...>> 是處理「多組固定長度異構數據」的經典模式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved