位於 System.Numerics 命名空間,支援任意精度整數運算,所有 .NET 語言通用。
// 舊版溢位結果:-294967296
var smallInt = unchecked(2000000000 + 2000000000);
// 新版正確結果:4000000000
var bigInt = BigInteger.Add(2000000000, 2000000000);
// 或直接運算子
var bigInt2 = (BigInteger)2000000000 + 2000000000;
適用於加密、科學計算、大數學運算等場景。
數學概念的有序多元組,位於 System 命名空間,支援任意維度與泛型元素型別。
var tuple1 = Tuple.Create(4, "ahmed");
var item1 = tuple1.Item1; // 4
var item2 = tuple1.Item2; // "ahmed"
// 多維度
var tuple3 = Tuple.Create(1, 2.5, "three", DateTime.Now);
public static Tuple<bool, int> AddItem(string item)
{
if (collection.Contains(item))
return Tuple.Create(false, collection.IndexOf(item));
else
{
collection.Add(item);
return Tuple.Create(true, collection.Count - 1);
}
}
// 呼叫端
var result = AddItem("new");
if (result.Item1) Console.WriteLine($"新增成功,索引 {result.Item2}");
else Console.WriteLine($"已存在,索引 {result.Item2}");
優點:快速建立輕量資料結構,無需定義專屬類別,適合內部邏輯傳遞多值。