Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 호출자 메서드에 여러 값을 반환하는 방법은 무엇입니까?

<시간/>

Tuple을 사용하여 C#의 메서드에서 여러 값을 반환할 수 있습니다. 서로 관련이 있거나 없을 수 있는 여러 값을 포함하는 데이터 세트를 저장할 수 있습니다. ValueTuple이라는 최신 Tuple은 C# 7.0(.NET Framework 4.7)입니다.

ValueTuples는 성능이 뛰어나고 프로그래머가 선택한 이름으로 참조할 수 있습니다. ValueTuple은 기존 메서드에서 여러 값을 반환하기 위한 간단한 메커니즘을 제공합니다. ValueTuples는 System.ValueTupleNuGet 패키지에서 사용할 수 있습니다. .

공개(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, 문자열 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