У меня есть метод, который возвращает List<string>
, и я пытаюсь передать его методу AddRange(Object[])
ComboBox
.Список <string> to object []
Как я могу преобразовать List<string>
в Object[]
?
Я полагаю, что мог бы сделать foreach
, но я бы предпочел использовать AddRange(Object[])
, поскольку он быстрее (и производит меньше кода).
EDIT
Следующие работает отлично:
var list = new List<string>();
object[] array = list.ToArray<object>();
comboBox.AddRange(array);
Однако на другой ноте, любая причина, почему я хотел бы выполнить выше вместо:
var list = new list<string>();
comboBox.AddRange(list.ToArray<object>());
Массивы также являются ковариантными, поэтому вам даже не нужно делать 'list.ToArray
@MagnusGrindalBakken: Ну, это зависит от того, захочет ли OP захотеть сохранить не-строки в том же массиве позже. –
@MagnusGrindalBakken Вы можете воспользоваться этим при вызове методов, таких как 'AddRange', но в противном случае, когда вы захотите использовать этот массив позже, я бы предложил использовать' ToArray