J'ai ceci:
List<string> s = new List<string>{"", "a", "", "b", "", "c"};
Je veux supprimer tous les éléments vides ("")
à partir de celui-ci rapidement (probablement via LINQ) sans utiliser une instruction foreach
car cela rend le code laid.
Vous pouvez utiliser List.RemoveAll
:
C #
s.RemoveAll(str => String.IsNullOrEmpty(str));
VB.NET
s.RemoveAll(Function(str) String.IsNullOrEmpty(str))
Vérifiez avec List.RemoveAll
avec String.IsNullOrEmpty()
méthode;
Indique si la chaîne spécifiée est nulle ou une chaîne vide.
s.RemoveAll(str => string.IsNullOrEmpty(str));
Voici un DEMO
.
s = s.Where(val => !string.IsNullOrEmpty(val)).ToList();
J'écris du code ci-dessous pour supprimer la valeur vide
List<string> s = new List<string>{"", "a", "", "b", "", "c"};
s = s.Where(t => !string.IsNullOrWhiteSpace(t)).Distinct().ToList();