C# 创建动态数组

我如果定义个int[,] i1 = new int[行数未知,列数未知];
int[,] i2 = new int[4,2];
1 1
2 2
3 3
4 4
请问如何赋给i1.
创建的时候int[,] i1 = new int[行数未知,列数未知];
行数和列数应当放什么。
还是有其他方法可以做。可以的话,请给出例子

第1个回答  推荐于2016-03-11
用list 试试,里面的元素再自定义一个list。
比如 List l1=new list();
List listContainer=new List();

l1.add(1);
l1.add(1);
listContainer.Add(l1);

仅供参考,个人觉的不太好。追问

可以实现多行多列吗?

追答

和一个数组的数组差不多。比如数组a {1,1},b{2,2}
一个 IList list, 你把a,b加到list中, list(0)=a;
list(0)[0]=1; 手打的, 开始也打错了。 你具体去msdn查下List 和IList接口。 这只是个思路。

本回答被提问者采纳
第2个回答  2011-03-23
可不可以第一次不做分配呢,只声明,在i2声明完成后直接赋给i1就是了呀,如果需要动态添加的时候,在声明一个i3[newcol,newrow];在一个一个的把i1的值赋给i3(如果这是不需要i2的话,直接用i2也可以的)。个人觉得,如果对数组操作要求高的话,用C++的指针是最方便的了。C#里面好像也可以用指针的,但是属于不安全代码而已。
第3个回答  2011-03-23
兄弟可以用arraylist当数组用啊,至少arraylist存值的多少是动态的追问

可以生成 比如2行3列的数组吗? 能给个例子不。。

追答

呵呵,arraylist只能是多行两列的

如何用c#实现数组的动态增长?
在 C# 中,可以使用 List<T> 类来实现动态数组。List<T> 是一个泛型集合类,提供了类似数组的功能,但能够自动在内部进行扩容以适应更多的元素。下面是一些基本操作的示例:创建一个空的 List<T> 实例:List<int> myList = new List<int>();添加元素:myList.Add(1);myList.Add(2);

C#中如何申请动态数组
第一种是让用户一次性输入一个用“,”分隔的字符串,如“1,2,3,4,5”,然后后台根据元素的个数确定数组的长度:Console.WriteLine("Please input numbers in format (1,2,3,4,...100)"); var input = Console.ReadLine(); var strings = input.Split(','); var numbers = new...

c#如何定义动态数组?
int[] numbers = new int[]{1,2,3,4,5,6}; \/\/不定长 int[] numbers = new int[3]{1,2,3};\/\/定长 \/\/多维 int[,] numbers = new int[,]{{1,2,3},{1,2,3}}; \/\/不定长 int[,] numbers = new int[2,2]{{1,2},{1,2}}; \/\/定长 ...

c#怎样创建一个动态的 string 数组
C#动态创建数组实例:ArrayList al = new ArrayList(); al.Add("song"); al.Add("yun"); String[] arr2; arr2 = (String[])(al.ToArray(typeof(String))); System.Diagnostics.Debug.Print("Arr2[0]=" + arr2[0]); \/\/type of int ArrayList al2 = new ArrayLi...

在C#中如何弄出一个动态二维数组?
我们一般说的动态,是指在运行过程中随时可以添加修改行列的,如果你已经确定知道要几行几列那就不是动态了,动态数组一般是用List实现的,比如 List<List<int>> array = new List<List<int>>();List<int> item = new List<int>(new int[] { 3, 4, 5, 6 });array.Add(item);item = ...

c#怎么申请不知道大小的数组?
AddNum.Add(NumX[i + 1]++) 这里的 NumX有大小限制,i 为 最大值时 , i + 1越界,

C#动态数组:需要读取10w多个(X,Y,Z)坐标,要将代码改成动态数组存储,请...
public class Test{ public double X {get; private set;} public double Y {get; private set;} public double Z {get; private set;} public Test(double x, double y, double z) { X = x; Y = y; Z = z; }}然后就是读取文件后构建Test对象添加到列表...

C#中动态添加数组长度,且保持原有数组中的数值不丢失
数组(Array)是不可以改变长度的。只能重新创建一个数组,然后将原有数组拷贝到新数组。int[] arr = new int[10];int[] newArr = new int[arr.Length + 10];arr.CopyTo(newArr, 0);arr = newArr;可以考虑使用数组列表(ArrayList )。ArrayList 是数组的复杂版本。ArrayList 类提供在大多数 ...

C#如何创建一个自定义数据类型的数组并赋值
Student[] stus = new Student[5];赋值方法一:stus[0] = new Student();赋值方法二:stus = new Student[5]{ new Student(), new Student(), new Student(), new Student(), new Student() } 动态数组可以用泛型:List<Student> stus = new List<Student>();stus.Add(new Student())...

C#中动态添加数组长度
楼主你好~数组(Array)的容量在声明的时候已经确定了,是不能改变的。楼主可以使用ArrayList来作为数组的代替,这是可变长度的数组容器,调用Add之类的方法来动态添加成员。而ArrayList的性能并不是很高且不支持多维数组,所以推荐使用泛型支持的List<T>。更加复杂的情况,比如维数不定容器等请自行构造容器类...

相似回答