645 Stimmen

Mehrere Werte an einen Methodenaufrufer zurückgeben

Ich habe die C++-Version dieser Frage aber ich habe es nicht wirklich verstanden.

Kann jemand bitte klar erklären, wenn es in C# getan werden kann, und wie?

0 Stimmen

Basierend auf der Antwort auf die erwähnte Frage, in C/C++ & vor dem Variablennamen bedeutet "pass by reference", mit Referenzparametern können Sie die Variable an die Funktion übergeben und ihren Wert innerhalb der Funktion ändern, in C# können Sie es mit ref / out Parametern tun

1voto

Ruan Punkte 3233

Sie können auch ein OperationResult verwenden

public OperationResult DoesSomething(int number1, int number2)
{
// Your Code
var returnValue1 = "return Value 1";
var returnValue2 = "return Value 2";

var operationResult = new OperationResult(returnValue1, returnValue2);
return operationResult;
}

0voto

bmich72 Punkte 610

Als Alternative könnten Sie Ihre Methode auf void setzen und nichts zurückgeben. Erstellen Sie stattdessen eine öffentliche Klasse mit Parametern und setzen Sie diese innerhalb Ihrer Methode.

public class FooBar()
{
    public string foo { get; set; }
    public int bar { get; set; }
}

Versuchen Sie dann für Ihre Methode Folgendes

public void MyMethod(Foo foo, Bar bar)
{
    FooBar fooBar = new FooBar();
    fooBar.foo = "some string";
    fooBar.bar = 1;
}

-1voto

IMMORTAL Punkte 2519

Können Sie dies versuchen

public IEnumerable<string> Get()
 {
     return new string[] { "value1", "value2" };
 }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X