2010-01-18 11 views
25

Ben hiç ürün içerebilir bir başlatıldı dizi var.GetType()?

bunu a, belli ki Array türü dönecektir a üzerinde GetType() çağrılması

diyelim. Dizinin içerdiği öğelerin türünü almak mümkün mü?

Açıkçası a[0].GetType() çalışır, ancak daha sonra bir dizi boş olabilir ve bir boş başvuru özel neden olur.

cevap

43

Eh, alabilirsiniz element type of the array:

Type type = array.GetType().GetElementType(); 

(Bu oldukça dizideki öğelerin türlerini alma gibi aynı değil - bir object[] tamamen örneğin dizeleri ile doldurulur olabilir.)

+1

bir uyarı: bu, 'Array' nesne olarak atıfta dizi üzerinde bir gerçek düzen tipinde çalışır, ancak olmaz. Bu durumda, GetElementType null değerini döndürür. –

İlgili konular