ArrayList可以实例化,可是为何Array不能实例化呢?这样可以ArrayList animalArrayList = new ArrayList();
但是这样不可以Array animalArrayList = new Array();
但是这样不可以Array animalArrayList = new Array();
解决方案 »
- C# Windows Forms全角半角转换问题
- 请教关于数据绑定问题
- 如何打开TXT文件?不是读取.
- DataFormatString格式化的问题?
- 在线急侍............,关于DataSet更新后再写回数据库~~~
- c#.net调用vc++编写的dll报错,在线等~求高手帮忙~
- 在WinForm中,怎样让textBox动态地绑定DataGrid中的行?
- 如何遍历出全部目录???
- 高分求教高手?如何避免重复操作?
- 如何利用XML进行数据交换??
- 谁能给出一个完整的在IIS中承载WCF服务并且可实现跨计算机(相同工作组)运行且能向客户端返回数据集的例子
- 关于个.CS后台和JS互调互用的问题.
解释:Array是抽象类不能直接实例化 :Array arr = new Array()是错误的。正确的是实用要具体到他的子类。比如string[] int[] 等等。2、Array对象在获得元素个数时通过数组的获得方式(Length属性):animalArray.Length;ArrayList对象在获得元素个数时通过集合的获得方式(Count属性):animalArrayList.Count;3、为Array对象赋值时,通过下标的访问方式:animalArray[1] = new Chicken("鸡鸡一");Array对象通过集合添加的方式赋值:animalArrayList.Add(new Chicken("鸡鸡二"));4、Array类型的变量在声明的同时必须进行实例化(至少得初始化数组的大小),而ArrayList可以只是先声明。
int[] array = new array[3];
或 int[] array = {1,2,3};
或 ArrayList myList = new ArrayList();
这些都是合法的,而直接使用 int[] array;是不行的。5、Array只能存储同构的对象,而ArrayList可以存储异构的对象。
同构的对象是指类型相同的对象,若声明为int[]的数组就只能存放整形数据,string[]只能存放字符型数据,但声明为object[]的数组除外。
而ArrayList可以存放任何不同类型的数据(因为它里面存放的都是被装箱了的Object型对象,实际上ArrayList内部就是使用"object[] _items;"这样一个私有字段来封装对象的)6、 初始化大小
Array对象的初始化必须只定指定大小,且创建后的数组大小是固定的,
而ArrayList的大小可以动态指定,其大小可以在初始化时指定,也可以不指定,也就是说该对象的空间可以任意增加。通过ArrayList.Capacity更改ArrayList的大小。还可以通过 通过ArrayList类的TrimToResize()方法可以将ArrayList实例中的空项去除以压缩体积7、Array不能够随意添加和删除其中的项,而ArrayList可以在任意位置插入和删除项。
ArrayList类实现可变数组
for (int i = 0; i < arr.GetLength(0); i++)
{
arr.SetValue("字符串" + i.ToString(), i);
}
Console.WriteLine(arr.GetValue(0));
这样可以创建,也可以string[]。
语法看不懂的对照看看msdn.
List 是个接口 所以不能实例化
不好意思 看错了
把 Array 看成 List