将ArrayList转化为string[,]时, for (int i = 0; i < dim2valueList.Count;i++ ) { string[,] dim2Value = (string[,])dim2valueList[i];//报错,无法将类型为“System.Collections.ArrayList”的对象强制转换为类型“System.String[,]”。
Array是类,假设array是Array实例化后的对象。你的目的,是将array里的内容,按维度和列,转换成一个一维的ArrayList。那么,试试如下的代码段: // 构造一个5x3的二维数组 int[,] arrayInt = new int[,] {{2,4,7},{3,9,11},{5,8,10},{15,27,36},{1,5,28}};// int[,] 本质上也是类Array实例化的一个对象 Array array = arrayInt;ArrayList list = new ArrayList(); IEnumerator enumerator = array.GetEnumerator(); while (enumerator.MoveNext()) list.Add(enumerator.Current);foreach (int i in list) Console.WriteLine(i); 结果: 2 4 7 3 9 11 5 8 10 15 27 36 1 5 28
我要是的二维的ArrayList 按照 int[][] arr={{11,12},{21,22}}; ArrayList arraylist = new ArrayList(); for(int i=0;i<arr.size();++i) { ArrayList temp= new ArrayList(); arraylist.add(temp); for(int j=0;j<arr[i].size();++j) { temp.add(arr[i][j]); } } 得到的 但是 将ArrayList转化为string[,]时, for (int i = 0; i < dim2valueList.Count;i++ ) { string[,] dim2Value = (string[,])dim2valueList[i];//报错,无法将类型为“System.Collections.ArrayList”的对象强制转换为类型“System.String[,]”。 谢谢
ArrayList lst = new ArrayList();
int[,] C = new int[2,2];
//..........
foreach(int i in C)
{
lst.Add(i);
}
{
string[,] dim2Value = (string[,])dim2valueList[i];
}
得到的ArrayList是一维的,我想要二维的
int[] e1 = new int[] {1,2};
int[] e2 = new int[] {3,4};
ArrayList arraylist = new ArrayList();
arraylist.Add(e1);
arraylist.Add(e2);
string[,]
int[][] arr={{11,12},{21,22}};
ArrayList arraylist = new ArrayList();
for(int i=0;i<arr.size();++i)
{
ArrayList temp= new ArrayList();
arraylist.add(temp);
for(int j=0;j<arr[i].size();++j)
{
temp.add(arr[i][j]);
}
}
将ArrayList转化为string[,]时,
for (int i = 0; i < dim2valueList.Count;i++ )
{
string[,] dim2Value = (string[,])dim2valueList[i];//报错,无法将类型为“System.Collections.ArrayList”的对象强制转换为类型“System.String[,]”。
Array是类,假设array是Array实例化后的对象。你的目的,是将array里的内容,按维度和列,转换成一个一维的ArrayList。那么,试试如下的代码段:
// 构造一个5x3的二维数组
int[,] arrayInt = new int[,] {{2,4,7},{3,9,11},{5,8,10},{15,27,36},{1,5,28}};// int[,] 本质上也是类Array实例化的一个对象
Array array = arrayInt;ArrayList list = new ArrayList();
IEnumerator enumerator = array.GetEnumerator();
while (enumerator.MoveNext())
list.Add(enumerator.Current);foreach (int i in list)
Console.WriteLine(i);
结果:
2
4
7
3
9
11
5
8
10
15
27
36
1
5
28
我要是的二维的ArrayList
按照
int[][] arr={{11,12},{21,22}};
ArrayList arraylist = new ArrayList();
for(int i=0;i<arr.size();++i)
{
ArrayList temp= new ArrayList();
arraylist.add(temp);
for(int j=0;j<arr[i].size();++j)
{
temp.add(arr[i][j]);
}
}
得到的
但是
将ArrayList转化为string[,]时,
for (int i = 0; i < dim2valueList.Count;i++ )
{
string[,] dim2Value = (string[,])dim2valueList[i];//报错,无法将类型为“System.Collections.ArrayList”的对象强制转换为类型“System.String[,]”。
谢谢
ArrayList是从二维Array转换来的啊,比如{{1,2}{3,4}}