2014-02-05 13 views

Antwort

6

Sie können die asynchrone Funktion so deklarieren, dass sie stattdessen Tuple zurückgibt. Damit kann die Funktion immer noch mehrere Werte zurückgeben, ohne den Parameter out zu verwenden.

public async Task<Tuple<string, int, bool>>SomeFunctionAsync() 
{ 
    return new Tuple<string, int, bool>("foo", 0, false); 
} 

Für Referenz:

UPDATE:

können Sie kürzere Syntax verwenden, wie von @svick in Kommentar vorgeschlagen. Nach Funktion den gleichen Wert zurück, aber mit Tuple.Create:

public async Task<Tuple<string, int, bool>>SomeFunctionAsync() 
{ 
    return Tuple.Create("foo", 0, false); 
} 
+5

BTW, 'Tuple.Create()' ist oft kürzer als 'new Tuple()', weil Sie damit Typinferenz verwenden können. – svick