C# object to array C# object to array arrays arrays

C# object to array


Casting it to an ArrayList is only going to work if the object actually is an ArrayList. It wont work with a System.Array, or a System.Collections.Generic.List`1 for example.

I think what you actually should do is cast it to IEnumerable, since that is your only requirement to loop over it...

object anArray = propInfo.GetValue(instance, null);IEnumerable enumerable = anArray as IEnumerable;if (enumerable != null){    foreach(object element in enumerable)    {        // etc...    }}


Try to cast to IEnumerable. This is the most basic interface all enumerables, arrays, lists etc. implement.

IEnumerable myList = anArray as IEnumerable;if (myList != null){    foreach (object element in myList)    {        // ... do something    }}else{    // it's not an array, list, ...}


Simply Try This

 string[] arr = ((IEnumerable)yourOjbect).Cast<object>()                             .Select(x => x.ToString())                             .ToArray();