2017-12-19 4 views
-3

Lassen Sie uns sagen, dass ich Methode haben folgende:Standardwert verwenden für optionale Parameter in Funktionsaufruf

public void Foo(int value0, int optionalValue1 = 0, int optionalValue2 = 0) 
    { 
     // Something happens here... 
    } 

und ich möchte es nennen mag:

Foo(12, {defaultValue}, 1); 

so dass optionalValue1 den Standardwert sein sollte (0 in diesem Fall).

Ich weiß, ich könnte es wie fest einprogrammiert tun:

Foo(12, 0, 1); 

aber dann hätte ich es manuell bearbeiten, wenn ich einen anderen Wert als Standardwert vor optionalValue1 einstellen wollen, aber ich kenne keine andere Lösung , Ist dort eines?

+0

sieh dir diesen Beitrag zum Beispiel/Hinweise .. https://Stackoverflow.com/questions/199761/how-can-you-use-optional-parameters-in-c hast du Zugriff auf Google. Kommst du nicht ..? – MethodMan

+0

yeah danke für den downrate und den netten "hast du Zugang zu google" bro, übrigens meine Frage ist ein komplett anderes ... – Pedro

+1

Statt 'int optionalValue1 = 0' könntest du' int optionalValue1 = SomeConstantValue' natürlich tun. – DavidG

Antwort

4

Es gibt keine Syntax für das, aber die Namen der Parameter verwenden können:

Foo(value0: 12, optionalValue2: 1); 

oder nur

Foo(12, optionalValue2: 1); 

da nicht benannten Argumente vor benannten Argumente werden in der Position gebunden sein sie sind gegeben

+0

netter, das ist genau das, was ich gesucht habe, vielen Dank! – Pedro

Verwandte Themen