-1

一些 c# 代码,如:

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?
}
}

如上面的代码,如果我想要对象中的字符串值是一个数组,我怎样才能得到它,以及如何获得数组对象的demesion?

非常感谢。

4

2 回答 2

0

您必须将对象转换为数组,如下所示:

string GetParamStringFromArrayObject(object obj)
{
   Array array = obj as Array;
   if (array != null)
   {
       int demesion = array.Rank;
       // etc.
    }
}
于 2013-01-24T06:55:39.927 回答
0
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() + ",";
}
于 2013-01-24T06:57:28.490 回答