Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để trả về nhiều giá trị cho phương thức người gọi trong c #?

Một Tuple có thể được sử dụng để trả về nhiều giá trị từ một phương thức trong C #. Nó cho phép chúng tôi lưu trữ một tập dữ liệu chứa nhiều giá trị có thể có hoặc không liên quan đến nhau. Tuple mới nhất được gọi là ValueTuple là C # 7.0 (.NET Framework 4.7).

ValueTuples vừa có thể biểu diễn vừa có thể tham chiếu theo tên mà lập trình viên chọn. ValueTuple cung cấp một cơ chế nhẹ để trả về nhiều giá trị từ các phương thức hiện có. ValueTuples sẽ có sẵn trong gói System.ValueTupleNuGet .

public (int, string, string) GetPerson () {}

Ví dụ 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");
      }
   }
}

Đầu ra

Đầu ra của đoạn mã trên là

Fruit Id: 1, Name: Apple, Size: Big

Trong ví dụ trên, chúng ta có thể thấy rằng phương thức GetFruits () trả về nhiều giá trị (int, string, string). Giá trị của các bộ giá trị được truy cập bằng cách sử dụng Fruit.Item1, trái cây.Item2, trái cây.Item3.

Chúng tôi cũng có thể truy xuất các thành viên riêng lẻ bằng cách sử dụng giải cấu trúc.

(int FruitId, string FruitName, string FruitSize) =GetFruits ();

Ví dụ 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");
      }
   }
}

Đầu ra

Đầu ra của đoạn mã trên là

Fruit Id: 1, Name: Apple, Size: Big