如何在C#中向呼叫方法返回多個值?


元組可以在C#中用來從方法返回多個值。它允許我們儲存一個數據集,該資料集包含多個可能相互關聯也可能不相關的多個值。最新的元組稱為ValueTuple,在C# 7.0(.NET Framework 4.7)中引入。

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

更新於:2020年8月19日

1K+ 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.