如何在C#中将多个值返回给调用方方法?
元组可用于从C#中的方法返回多个值。它允许我们存储一个数据集,该数据集包含彼此相关或不相关的多个值。最新的称为ValueTuple的元组是C#7.0(.NETFramework4.7)。
通过程序员选择的名称,ValueTuples既高效又可引用。ValueTuple提供了一种轻量级的机制,用于从现有方法中返回多个值。ValueTuples将在System.ValueTupleNuGet包下提供。
公共(整数,字符串,字符串)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)。使用fruits.Item1,fruits.Item2,fruits.Item3访问元组的值。
我们还可以使用解构来检索单个成员。
(intFruitId,字符串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