Есть ли метод по умолчанию, определенный в .Net для С #, чтобы удалить все элементы в списке, которые есть null
?
List<EmailParameterClass> parameterList = new List<EmailParameterClass>{param1, param2, param3...};
Скажем , некоторые из параметров null
; Я не могу знать заранее и хочу удалить их из своего списка, чтобы он содержал только параметры, которые не равны нулю.
Я не знаю ни одного встроенного метода, но вы могли бы просто использовать linq:
источник
parameterList
он уже является списком, так как это создаст новую копию без необходимости. В этом случае используйтеRemoveAll
метод, предложенный другими.Array
.Метод RemoveAll должен помочь:
источник
Метод
OfType()
пропустит нулевые значения:источник
OfType
выбирает объекты определенного типа, не думая, что он не будет включатьnull
значения ... Так что я немного устал вводить это в мой собственный код.источник
Легко и без LINQ:
источник
List
классе рядомRemoveAll
, поэтому для ясности я бы рекомендовал его. Если производительность оказалась решающей, вы можете воспользоваться этим подходом (хотя я бы снял скобки и, вероятно, добавил бы комментарий для неосведомленных разработчиков).RemoveAll
получилPredicate
, поэтому вы должны использоватьRemoveAll(x => x == null)
, как видно из принятого ответа и ответа Марка Белла.Есть еще один простой и элегантный вариант:
Это удалит все элементы, не относящиеся к типу,
EmailParameterClass
что, очевидно, отфильтрует любые элементы типаnull
.Вот тест:
источник
EmailParameterClass
и будут иметь только значение, равноеnull
?