J'ai besoin de déclarer un tableau de chaînes vide et j'utilise ce code
string[] arr = new String[0]();
Mais j'obtiens l'erreur "nom de méthode attendu".
Qu'est-ce qui ne va pas?
Essaye ça
string[] arr = new string[] {};
Votre syntaxe est fausse:
string[] arr = new string[]{};
ou
string[] arr = new string[0];
Si vous utilisez .net 4.6, ils ont une nouvelle syntaxe que vous pouvez utiliser:
using System; // To pick up definition of the Array class.
var myArray = Array.Empty<string>();
Tu peux essayer ça
string[] arr = {};
Les constructeurs des tableaux sont différents. Voici quelques façons de créer un tableau de chaînes vide:
var arr = new string[0];
var arr = new string[]{};
var arr = Enumerable.Empty<string>().ToArray()
(désolé, sur mobile)
Ces choses bouclées sont parfois difficiles à retenir, c'est pourquoi il y a une excellente documentation :
// Declare a single-dimensional array
int[] array1 = new int[5];
Votre syntaxe n'est pas valide.
string[] arr = new string[5];
Cela créera arr
, un tableau de chaînes référencé, où tous les éléments de ce tableau sont null
. (Puisque les chaînes sont des types de référence )
Ce tableau contient les éléments de arr[0]
à arr[4]
. L'opérateur new
est utilisé pour créer le tableau et initialiser les éléments du tableau à leurs valeurs par défaut. Dans cet exemple, tous les éléments du tableau sont initialisés à null
.
Ce qui suit devrait bien fonctionner.
string[] arr = new string[] {""};
Si vous devez créer un tableau vide, vous pouvez le faire:
string[] arr = new string[0];
Si vous ne connaissez pas la taille, vous pouvez aussi utiliser List<string>
comme
var valStrings = new List<string>();
// do stuff...
string[] arrStrings = valStrings.ToArray();