Preciso declarar uma matriz de seqüência de caracteres vazia e estou usando esse código
string[] arr = new String[0]();
Mas eu recebo o erro "nome do método esperado".
O que há de errado?
Preciso declarar uma matriz de seqüência de caracteres vazia e estou usando esse código
string[] arr = new String[0]();
Mas eu recebo o erro "nome do método esperado".
O que há de errado?
Respostas:
Tente isto
string[] arr = new string[] {};
c# Array.Empty<string>()
Sua sintaxe está errada:
string[] arr = new string[]{};
ou
string[] arr = new string[0];
Os construtores de matrizes são diferentes. Aqui estão algumas maneiras de criar uma matriz de string vazia:
var arr = new string[0];
var arr = new string[]{};
var arr = Enumerable.Empty<string>().ToArray()
(desculpe, no celular)
Às vezes, essas coisas encaracoladas são difíceis de lembrar, é por isso que existe uma excelente documentação :
// Declare a single-dimensional array
int[] array1 = new int[5];
int
com string
se ele gosta.
Sua sintaxe é inválida.
string[] arr = new string[5];
Isso criará arr
uma matriz referenciada de cadeias, onde estão todos os elementos dessa matriz null
. (Como strings são tipos de referência )
Essa matriz contém os elementos de arr[0]
para arr[4]
. O new
operador é usado para criar a matriz e inicializar os elementos da matriz com seus valores padrão. Neste exemplo, todos os elementos da matriz são inicializados null
.
Se você deve criar uma matriz vazia, você pode fazer isso:
string[] arr = new string[0];
Se você não sabe sobre o tamanho, então você também pode usar List<string>
, bem como
var valStrings = new List<string>();
// do stuff...
string[] arrStrings = valStrings.ToArray();
O seguinte deve funcionar bem.
string[] arr = new string[] {""};