Existe-t-il une méthode par défaut définie dans .Net for C # pour supprimer tous les éléments d’une liste qui sont null
?
List<EmailParameterClass> parameterList = new List<EmailParameterClass>{param1, param2, param3...};
Disons que certains des paramètres sont null
; Je ne peux pas savoir à l'avance et je veux les supprimer de ma liste afin qu'elle ne contienne que des paramètres non nuls.
Vous voudrez probablement ce qui suit.
List<EmailParameterClass> parameterList = new List<EmailParameterClass>{param1, param2, param3...};
parameterList.RemoveAll(item => item == null);
Je ne connais aucune méthode intégrée, mais vous pouvez simplement utiliser linq:
parameterList = parameterList.Where(x => x != null).ToList();
La méthode RemoveAll devrait faire l'affaire:
parameterList.RemoveAll(delegate (object o) { return o == null; });
La méthode OfType()
ignorera les valeurs NULL:
List<EmailParameterClass> parameterList =
new List<EmailParameterClass>{param1, param2, param3...};
IList<EmailParameterClass> parameterList_notnull =
parameterList.OfType<EmailParameterClass>();
List<EmailParameterClass> parameterList = new List<EmailParameterClass>{param1, param2, param3...};
parameterList = parameterList.Where(param => param != null).ToList();
Facile et sans LINQ:
while (parameterList.Remove(null)) {};
Il existe une autre option simple et élégante:
parameters.OfType<EmailParameterClass>();
Cela supprimera tous les éléments qui ne sont pas de type EmailParameterClass
, ce qui filtrera évidemment tous les éléments de type null
.