ConvertAll
просто вызовет ваш делегат / анонимный метод для каждого элемента списка. Что это делает, зависит только от вас.
В приведенном вами примере кода он попытается привести каждый элемент к двойному значению и вернуть его, что означает, что вы получите List<Double>
взамен.
Не следует использовать OfType<T>
, так как это отфильтрует элементы на основе типа и будет возвращать тип, отличный от исходного, только если он совместим с типом из-за наследования или реализации интерфейса.
Другими словами, .OfType<Double>
не вернет никаких элементов, поскольку ни одно из целых чисел также не является двойным.