GetType() on Array item?

I have an initialised array that may contain no items.

Lets call it a,

Calling GetType() on a will obviously return a type of Array. Is it possible to get the type of the items the array contains?

Obviously a[0].GetType() would work, but then the array could be empty and cause a null reference exception.


Solution 1:

Well, you can get the element type of the array:

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

(That's not quite the same as getting the types of the items in the array - an object[] may be entirely populated with strings, for example.)

Solution 2:

Maybe Type.GetElementType() is what you need.