2012-03-23 2 views
1

У меня есть массив объектов [], но я хочу, чтобы преобразовать их в массив двойников [] У меня есть массив объектов dinamicaly как размер является параметром ...Object [] удвоится [] C#

Как это сделать?

я делал что-то вроде:

var doub = (double[])obj; 
+1

Наверное, лучший способ не закончить с 'объект []', чтобы начать с. Подумайте, можете ли вы на самом деле получить правильно типизированный массив (или даже лучше «Список » или «IEnumerable » из любого объекта возврата []. –

ответ

9

Еще один простой способ без Linq:

var doubles = Array.ConvertAll<object, double>(objects, o => (double)o); 
7

Вы можете использовать метод .Cast<T>() расширения в System.Linq пространстве имен.

var doub = obj.Cast<double>(); 
+0

Есть ли другой способ? – cMinor

+1

@cMinor, да, много. Но это, вероятно, лучший ( –

+0

1 без использования Linq ... – cMinor

3
object[] o; 
for(int i=0;i<100;i++){ 
    o[i]=i; 
} 
double[] d = (double[])o;//Now getting double array. 
Смежные вопросы