Devo dichiarare un array di stringhe vuoto e sto usando questo codice
string[] arr = new String[0]();
Ma ricevo l'errore "nome metodo previsto".
Cosa c'è che non va?
Devo dichiarare un array di stringhe vuoto e sto usando questo codice
string[] arr = new String[0]();
Ma ricevo l'errore "nome metodo previsto".
Cosa c'è che non va?
Risposte:
Prova questo
string[] arr = new string[] {};
c# Array.Empty<string>()
La tua sintassi è sbagliata:
string[] arr = new string[]{};
o
string[] arr = new string[0];
I costruttori di array sono diversi. Ecco alcuni modi per creare un array di stringhe vuoto:
var arr = new string[0];
var arr = new string[]{};
var arr = Enumerable.Empty<string>().ToArray()
(scusa, sul cellulare)
Quelle cose ricci a volte sono difficili da ricordare, ecco perché c'è un'ottima documentazione :
// Declare a single-dimensional array
int[] array1 = new int[5];
int
con string
se gli piace.
La tua sintassi non è valida.
string[] arr = new string[5];
Ciò creerà arr
un array di stringhe referenziato, in cui si trovano tutti gli elementi di questo array null
. (Poiché le stringhe sono tipi di riferimento )
Questa matrice contiene gli elementi da arr[0]
a arr[4]
. L' new
operatore viene utilizzato per creare l'array e inizializzare gli elementi dell'array ai loro valori predefiniti. In questo esempio, tutti gli elementi dell'array sono inizializzati su null
.
Se è necessario creare un array vuoto, è possibile farlo:
string[] arr = new string[0];
Se non si conosce la dimensione, è possibile utilizzare List<string>
anche come
var valStrings = new List<string>();
// do stuff...
string[] arrStrings = valStrings.ToArray();
Quanto segue dovrebbe funzionare bene.
string[] arr = new string[] {""};