C # déclare un tableau de chaînes vide

J’ai besoin de déclarer un tableau de chaînes vide et j’utilise ce code

ssortingng[] arr = new Ssortingng[0](); 

Mais j’obtiens l’erreur “méthode nom attendu”.

Qu’est-ce qui ne va pas?

Essaye ça

 ssortingng[] arr = new ssortingng[] {}; 

Votre syntaxe est incorrecte:

 ssortingng[] arr = new ssortingng[]{}; 

ou

 ssortingng[] arr = new ssortingng[0]; 

Vous pouvez essayer ceci

 ssortingng[] arr = {}; 

Les constructeurs de tableaux sont différents. Voici quelques façons de créer un tableau de chaînes vide:

 var arr = new ssortingng[0]; var arr = new ssortingng[]{}; var arr = Enumerable.Empty().ToArray() 

(désolé, sur mobile)

Si vous utilisez .net 4.6, vous pouvez utiliser une nouvelle syntaxe:

 var myArray = Array.Empty(); 

Ces choses frisées sont parfois difficiles à retenir, c’est pourquoi il existe une excellente documentation :

 // Declare a single-dimensional array int[] array1 = new int[5]; 

Votre syntaxe est invalide

 ssortingng[] arr = new ssortingng[5]; 

Cela créera arr , un tableau référencé de chaînes, 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] . Le new opérateur 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 .

Single-Dimensional Arrays (C# Programming Guide)

Si vous devez créer un tableau vide, vous pouvez le faire:

 ssortingng[] arr = new ssortingng[0]; 

Si vous ne connaissez pas la taille, vous pouvez également utiliser List comme

 var valSsortingngs = new List(); // do stuff... ssortingng[] arrSsortingngs = valSsortingngs.ToArray(); 

Ce qui suit devrait fonctionner correctement.

 ssortingng[] arr = new ssortingng[] {""};