c# - valore - visual csharp



Come restituire più valori in C#7? (2)

Un compagno di squadra mi ha detto che in C # 7.0 è possibile restituire più valori da una funzione in modo nativo. Qualcuno può fornire qualche esempio? Grazie

https://code.i-harness.com


Cosa intendi con nativamente ?

Actualy C # 7 ha una nuova funzione molto utile che consente di restituire più di un valore da un metodo grazie a tipi di tuple e letterali tupla .

Considera la seguente funzione:

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

Quale può essere usato in questo modo:

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

O usando la sintassi di decostruzione

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

//...

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

Prenditi un po 'di tempo per controllare la Documentation , hanno alcuni ottimi esempi (quelli di questa risposta sono basati su di loro!).


Puoi anche implementare in questo modo:

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);
    }
}




c#-7.0