C#元组类型System.ValueTuple
生活随笔
收集整理的這篇文章主要介紹了
C#元组类型System.ValueTuple
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
元組功能在 C# 7.0 及更高版本中可用,它提供了簡潔的語法,用于將多個(gè)數(shù)據(jù)元素分組成一個(gè)輕型數(shù)據(jù)結(jié)構(gòu)。
元組功能需要 System.ValueTuple 類型和相關(guān)的泛型類型(例如 System.ValueTuple<T1,T2>),這些類型在 .NET Core 和 .NET Framework 4.7 及更高版本中可用。若要在面向 .NET Framework 4.6.2 或更早版本的項(xiàng)目中使用元組,請將 NuGet 包 System.ValueTuple 添加到項(xiàng)目。
(double,?int)?t1?=?(4.5,?3); Console.WriteLine($"Tuple?with?elements?{t1.Item1}?and?{t1.Item2}."); //?Output: //?Tuple?with?elements?4.5?and?3.(double?Sum,?int?Count)?t2?=?(4.5,?3); Console.WriteLine($"Sum?of?{t2.Count}?elements?is?{t2.Sum}."); //?Output: //?Sum?of?3?elements?is?4.5.,若要定義元組類型,需要指定其所有數(shù)據(jù)成員的類型,或者,可以指定字段名稱。雖然不能在元組類型中定義方法,但可以使用 .NET 提供的方法
(double,?int)?t?=?(4.5,?3); Console.WriteLine(t.ToString()); Console.WriteLine($"Hash?code?of?{t}?is?{t.GetHashCode()}."); //?Output: //?(4.5,?3) //?Hash?code?of?(4.5,?3)?is?718460086.元組最常見的用例之一是作為方法返回類型。也就是說,你可以將方法結(jié)果分組為元組返回類型,而不是定義 out 方法參數(shù),
var?xs?=?new[]?{?4,?7,?9?}; var?limits?=?FindMinMax(xs); Console.WriteLine($"Limits?of?[{string.Join("?",?xs)}]?are?{limits.min}?and?{limits.max}"); //?Output: //?Limits?of?[4?7?9]?are?4?and?9var?ys?=?new[]?{?-9,?0,?67,?100?}; var?(minimum,?maximum)?=?FindMinMax(ys); Console.WriteLine($"Limits?of?[{string.Join("?",?ys)}]?are?{minimum}?and?{maximum}"); //?Output: //?Limits?of?[-9?0?67?100]?are?-9?and?100(int?min,?int?max)?FindMinMax(int[]?input) {if?(input?is?null?||?input.Length?==?0){throw?new?ArgumentException("Cannot?find?minimum?and?maximum?of?a?null?or?empty?array.");}var?min?=?int.MaxValue;var?max?=?int.MinValue;foreach?(var?i?in?input){if?(i?<?min){min?=?i;}if?(i?>?max){max?=?i;}}return?(min,?max); }總結(jié)
以上是生活随笔為你收集整理的C#元组类型System.ValueTuple的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 编程语言也环保?C语言领跑,Python
- 下一篇: c# 弹性和瞬态故障处理库Polly