Question

some c# code like:

Array arr=Array.CreateInstance(typeof(oject),3);
bool b=true;
int i =2;
float[] foo={1.1f,2.2f};
arr.setValue(b,0);
arr.setValue(i,0);
arr.setValue(foo,0);
string str=GetParamStringFromArrayObject(arr.GetValue(3));

string GetParamStringFromArrayObject(object obj)
{
if(obj.GetType().IsArray)
{
int demesion=obj.GetType().GetRank();//error,how to get the demesion(should be 2)
return obj.ToString();//error,i want to return the string delimeter by ' ' of   the float array,how to do?
}
}

as above code ,if i want the the string from the object which value is a array,how can i get it,and how to get the demesion of the array oject?

thanks very much.

Était-ce utile?

La solution

You have to cast the object as an array, like this:

string GetParamStringFromArrayObject(object obj)
{
   Array array = obj as Array;
   if (array != null)
   {
       int demesion = array.Rank;
       // etc.
    }
}

Autres conseils

if(obj is Array)
{
   int size = (obj as Array).Length; // get size
   string items = ""; // get string
   foreach (object item in obj as Array)
     items += item.ToString() + ",";
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top