IT story

C # 7에서 여러 값을 반환하는 방법은 무엇입니까?

hot-time 2021. 1. 5. 19:15
반응형

C # 7에서 여러 값을 반환하는 방법은 무엇입니까?


팀 동료가 C # 7.0에서는 기본적으로 함수에서 여러 값을 반환 할 수 있다고 말했습니다. 아무도 몇 가지 예를 제공 할 수 있습니까? 감사


기본적으로 무엇을 의미 합니까?

Actualy C # 7에는 튜플 유형튜플 리터럴 덕분에 메서드에서 둘 이상의 값을 반환 할 수있는 매우 유용한 새 기능이 있습니다 .

다음 기능을 고려하십시오.

(string, string, string) MyCoolFunction() // tuple return type
{   
    //...        
    return (firstValue, secondValue, thirdValue);
}

다음과 같이 사용할 수 있습니다.

var values = MyCoolFunction();
var firstValue = values.Item1;
var secondValue = values.Item2;
var thirdValue = values.Item3;

또는 해체 구문 을 사용하여

(string first, string second, string third) = MyCoolFunction();

//...

var (first, second, third) = MyCoolFunction(); //Implicitly Typed Variables

시간을내어 Documentation 을 확인하십시오. 아주 좋은 예가 있습니다 (이 답변은 그것들을 기반으로합니다!).


튜플을 찾고 있습니다. 다음은 예입니다.

static (int count, double sum) Tally(IEnumerable<double> values)
{
    int count = 0;
    double sum = 0.0;
    foreach (var value in values)
    {
        count++;
        sum += value;
    }
    return (count, sum);
}

...

var values = ...
var t = Tally(values);
Console.WriteLine($"There are {t.count} values and their sum is {t.sum}");

http://www.thomaslevesque.com/2016/07/25/tuples-in-c-7/ 에서 도난당한 예


다음과 같이 구현할 수도 있습니다.

public class Program
{
    public static void Main(string[] args)
    {

        var values=GetNumbers(6,2);
        Console.Write(values);


    }

    static KeyValuePair<int,int> GetNumbers(int x,int y)
    {
        return new KeyValuePair<int,int>(x,y);
    }
}

참조 URL : https://stackoverflow.com/questions/42926301/how-to-return-multiple-values-in-c-sharp-7

반응형