42 votes

Supprime tous les éléments vides du tableau de chaînes de caractères

J'ai ça :

List<string> s = new List<string>{"", "a", "", "b", "", "c"};

Je veux supprimer tous les éléments vides ("") à partir de celui-ci rapidement (probablement par le biais de LINQ), sans utiliser un fichier foreach car cela rend le code laid.

67voto

Tim Schmelter Points 163781

Vous pouvez utiliser List.RemoveAll :

C#

s.RemoveAll(str => String.IsNullOrEmpty(str));

VB.NET

s.RemoveAll(Function(str) String.IsNullOrEmpty(str))

14voto

Soner Gönül Points 35739

Vérifiez avec List.RemoveAll avec String.IsNullOrEmpty() méthode ;

Indique si la chaîne spécifiée est nulle ou vide.

s.RemoveAll(str => string.IsNullOrEmpty(str));

Voici un DEMO .

11voto

MuhammadHani Points 2686
s = s.Where(val => !string.IsNullOrEmpty(val)).ToList();

0voto

J'écris le code suivant pour supprimer la valeur vide

List<string> s = new List<string>{"", "a", "", "b", "", "c"};
s = s.Where(t => !string.IsNullOrWhiteSpace(t)).Distinct().ToList();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X