¿Existe un método predeterminado definido en .Net para C # para eliminar todos los elementos dentro de una lista que son null?
List<EmailParameterClass> parameterList = new List<EmailParameterClass>{param1, param2, param3...};
Digamos que algunos de los parámetros son null; No puedo saberlo de antemano y quiero eliminarlos de mi lista para que solo contenga parámetros que no sean nulos.

No conozco ningún método incorporado, pero podrías usar linq:
fuente
parameterListya es una lista, ya que creará una nueva copia innecesariamente. En ese caso, utilice elRemoveAllmétodo como sugieren otros.Array.El método RemoveAll debería hacer el truco:
fuente
El método
OfType()omitirá los valores nulos:fuente
OfTypeselecciona objetos de cierto tipo, sin pensar que no incluiránullvalores ... Así que estoy un poco cansado de presentar esto en mi propio código.fuente
Fácil y sin LINQ:
fuente
Listclase justo al ladoRemoveAll, por lo que lo recomendaría para mayor claridad. Si el rendimiento resultó ser crucial, entonces puede seguir este enfoque (aunque eliminaría los corchetes y probablemente agregaría un comentario para los desarrolladores que no lo saben).RemoveAllrecibió unPredicate, por lo que debe usarRemoveAll(x => x == null), como se ve en el aceptado y la respuesta de Mark Bell.Existe otra opción sencilla y elegante:
Esto eliminará todos los elementos que no sean de tipo,
EmailParameterClasslo que obviamente filtrará cualquier elemento de tiponull.He aquí una prueba:
fuente
EmailParameterClassy solo tendrán un valor igual anull?