Kann ich Standardparameter in C # angeben?
In C:
void fun(int i = 1)
{
printf("%d", i);
}
Können wir Parametern einen Standardwert geben? Ist es in C # möglich? Wenn ja, können wir Überlastungsfunktionen vermeiden?
Es ist immer eine schlechte Praxis, einer vorhandenen Funktion einen optionalen Parameter hinzuzufügen. Wenn Sie an einem Projekt arbeiten, das auf die Klasse mit einer Funktion verweisen muss, und wir einen Parameter mit einem optionalen Wert geändert haben, wird möglicherweise eine Laufzeitausnahme ausgelöst, dass die Methode nicht gefunden wird.
Dies liegt daran, dass wir berücksichtigen werden, dass beim Hinzufügen eines zusätzlichen optionalen Werts keine Codeänderung erforderlich ist, wenn die Funktion an vielen Stellen verwendet wird.
function Add(int a, int b);
Dies wird folgendermaßen aufgerufen:
Add(10, 10);
Wenn wir jedoch einen optionalen Parameter wie diesen hinzufügen,
function Add(int a, int b, int c = 0);
dann erwartet der Compiler
Add(10, 10, 0);
Eigentlich rufen wir so auf Add(10, 10)und diese Funktion ist in dieser Klasse nicht verfügbar und verursacht eine Laufzeitausnahme.
Dies geschieht, während einer Funktion, die von vielen Stellen aufgerufen wird, ein neuer Parameter hinzugefügt wird, und ich bin mir nicht sicher, ob dies jedes Mal passieren wird. Ich empfehle Ihnen jedoch, die Funktion zu überlasten.
Wir müssen immer die Methode überladen, die einen optionalen Parameter hat. Auch wenn Sie mit Funktionen arbeiten, die mehr als einen optionalen Parameter haben, ist es gut, den Wert mit dem Namen des Parameters zu übergeben.
function Add(int a, int b, int c = 0);
Es ist immer gut, diese Funktion folgendermaßen aufzurufen.
Add(10, 20, c:30);