Posso dare i parametri di default in C#?Posso assegnare un valore predefinito ai parametri o ai parametri opzionali nelle funzioni C#?
In C:
void fun(int i = 1)
{
printf("%d", i);
}
Possiamo dare parametri un valore di default? È possibile in C#? In tal caso, possiamo evitare di sovraccaricare le funzioni?
È sempre una cattiva pratica aggiungere un parametro facoltativo a una funzione esistente. Se si sta lavorando su un progetto che deve riferirsi alla classe che ha una funzione e abbiamo modificato un parametro con un valore facoltativo, può generare un'eccezione di run time che il metodo non viene trovato.
Questo perché considereremo che se aggiungiamo un valore facoltativo aggiuntivo, non è richiesto alcun cambio di codice se la funzione viene utilizzata in molti posti.
function Add(int a, int b);
Questo sarà chiamato utilizzando in questo modo:
Add(10, 10);
Ma se si aggiunge un parametro opzionale come questo,
function Add(int a, int b, int c = 0);
il compilatore si aspetta
Add(10, 10, 0);
In realtà stiamo chiamando come questo Add(10, 10)
e questa funzione non sarà disponibile in quella classe e causa un'eccezione di run time.
Ciò accade durante l'aggiunta di un nuovo parametro a una funzione chiamata da molti punti e non sono sicuro che ciò accada ogni volta. Ma ti suggerisco di sovraccaricare la funzione.
Sempre è necessario sovraccaricare il metodo che ha un parametro opzionale. Inoltre, se stai lavorando con funzioni che hanno più di un parametro opzionale, allora è bene passare il valore usando il nome del parametro.
function Add(int a, int b, int c = 0);
È sempre utile chiamare questa funzione nel seguente modo.
Add(10, 20, c:30);
Hai provato? –
Questo è C++, non C. – leppie
Cosa stai chiedendo? .. –