Скорее, используя метод расширения .ForEach
, вы можете просто напрямую получить результаты следующим образом:
Dim integers = singles.Select(Function(x) Math.Round(x)).Cast(Of Integer)()
Или без использования .Cast
, например:
Dim integers = singles.Select(Function(x) CInt(Math.Round(x)))
Это избавляет вас от необходимости предварительно объявить List(Of Integer)
, и я также думаю, что более ясно, что вы просто применяете преобразование и производите результат (что ясно из назначения).
Примечание: это произвелоIEnumerable(Of Integer)
, который можно использовать в большинстве мест, где вы используете List(Of Integer)
... но вы не можете добавить к нему.Если вы хотите List
, просто нажмите .ToList()
до конца приведенных выше примеров кода.