如何在 C# 中向调用方法返回多个值?
csharpserver side programmingprogramming更新于 2025/6/28 4:37:17
在 C# 中,元组 (Tuple) 可用于从方法返回多个值。它允许我们存储包含多个值(这些值可能相互关联,也可能不关联)的数据集。C# 7.0 (.NET Framework 4.7) 中引入了一个名为 ValueTuple 的最新元组。
ValueTuple 性能卓越,并且可以通过程序员选择的名称进行引用。ValueTuple 提供了一种轻量级机制,可以从现有方法返回多个值。ValueTuple 将在 System.ValueTuple NuGet 包 下提供。
public (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)。元组的值可以通过fruits.Item1、fruits.Item2、fruits.Item3 访问。
我们也可以使用解构来检索各个成员。
(int FruitId, string FruitName, string 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

