如何在 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

相关文章