2010-11-19 13 views
17

Sto sviluppando un'applicazione Windows, spesso ho bisogno di cancellare le caselle di testo ogni volta che l'utente salva il record o fa clic sul pulsante Cancella. Attualmente sto usando questo codice txtboxname.text = string.empty; per ogni casella di testoMetodo che accetta n Numero di parametri in C#

Così può essere possibile scrivere un metodo che accetta il numero n di parametro come leggere tutto il Caselle di testo in un array e utilizzando foreach li

possiamo cancellare il requisito principale è quello di scrivere un metodo che accetta il numero n del parametro , ovvero la dimensione del parametro sarà sconosciuta.

Se qualche persona ha un'idea su come farlo, per favore aiutatemi. Grazie in anticipo.

risposta

15

Con la parola chiave params.

Ecco un esempio:

public void MyMethod(params int[] numbers) 
{ 
    for (int i = 0; i < numbers.Length; i++) 
    { 
     //numbers[i] is one of the parameters 
    } 
} 
16

Dai un'occhiata alla params

La parola chiave params consente di specificare un parametro metodo che accetta una variabile numero di argomenti.

+0

Come sono riuscito a mancare questo? – 5arx

5

È possibile utilizzare params, ad es. Foo(params Bar[] bars) accetta qualsiasi numero di istanze Bar come input.

0

Sì, si può avere una serie di caselle di testo TextBox[] come paremter per il metodo e si può quindi scorrere su di loro nel metodo.

1

È anche possibile passare una raccolta, ad es. un dizionario o elenca il tuo metodo come parametro.

E.g.

public void DoSomething(List<myCustomObject> lst){ 
    ... 
} 
+2

Ciò comporterebbe un sovraccarico, a causa del costo dell'elenco, rispetto a un semplice array fornito dalla parola chiave params. –

Problemi correlati