2013-02-26 9 views
0
var qResult = Enumerable.Range(1,10); 
comboBox1.Items.AddRange(qResult); 

Проблема здесь возникает, что «Argument'1' : не удается преобразовать из„System.Collections.Generic.IEnumerable“до«объекта [] 'не может конвертировать из System.Collections.Generic.IEnumerable <int> объекта []

Я пробовал различные коды разобраться в этом, но не Если кто-нибудь может мне помочь, пожалуйста,

ответ

1

Вы должны отправить массив объектов в качестве параметра:..

var qResult = Enumerable.Range(1,10).ToArray(); 
comboBox1.Items.AddRange(qResult); 
1

AddRange сделать esnt перечислить. Дайте ему массив, если объекты вместо этого:

 var qResult = Enumerable.Range(1,10); 
     comboBox1.Items.AddRange(qResult.Cast<object>().ToArray()); 
+0

It все еще не работает. Я пробовал var qResult = Enumerable.Range (1,10) .ToArray(); var qResult = Enumerable.Range (1,10) .ToArray (); а также comboBox1.Items.AddRange (qResult.ToArray()); Но ничего не происходит. –

+0

Обновлен мой ответ для вас. Если вы бросаете объект перед ToArray, вы должны получить объект [], который он не может жаловаться: D – Evelie

+0

Спасибо, он сработал. –

1

AddRange ожидает список или массив для привязки. Вызов ToArray() на ваш перечислимы, как показано ниже:

var qResult = Enumerable.Range(1,10); 
comboBox1.Items.AddRange(qResult.ToArray()); 
1

Enumerable.Range возвращает Enumerable целых чисел, однако, AddRange принимает массив, так что вы должны преобразовать qResult в массив, просто вызовите ToArray метод

qResult.ToArray() 
+0

Он все еще не работает. Я пробовал var qResult = Enumerable.Range (1,10) .ToArray(); var qResult = Enumerable.Range (1,10) .ToArray (); а также comboBox1.Items.AddRange (qResult.ToArray()); Но ничего не происходит. –

Смежные вопросы