2012-03-23 5 views
1

나는 개체 배열을 가지고 있지만 double 배열로 변환하고 싶습니다. [] 크기가 매개 변수이므로 dinamicaly 개체 배열이 있습니다 ...개체 []를 두 번 [] C#

어떻게해야합니까? 당신은 System.Linq 네임 스페이스의 .Cast<T>() 확장 방법을 사용할 수 있습니다

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

아마 가장 좋은 방법은 객체 [] '로 시작하는'으로 끝낼 것이 아니다. 실제로 객체 형 []을 반환하는 것으로부터 올바른 형식의 배열 (또는 더 좋은'List '또는'IEnumerable ')을 얻을 수 있는지 생각해보십시오. –

답변

9

Linq에없는 또 다른 쉬운 방법 :

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

:

내가 좋아하는 일을하고 있었다.

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

다른 방법이 있습니까? – cMinor

+1

@cMinor, yes, lots. 그러나 이것은 아마도 가장 좋습니다. 어떤 종류의 다른 솔루션을 찾고 계십니까? –

+0

Linq를 사용하지 않고 ... – cMinor

3
object[] o; 
for(int i=0;i<100;i++){ 
    o[i]=i; 
} 
double[] d = (double[])o;//Now getting double array.