asp教程.net c#中[],List,Array,ArrayList的区别
[] 是针对特定类型、固定长度的。
List 是针对特定类型、任意长度的。
List 类是 ArrayList 类的泛型等效类,某些情况下,用它比用数组和 ArrayList 都方便。
我们假设有一组数据,其中每一项数据都是一个结构。
public struct Item
{
public int Id;
public string DisplayText;
}
注意结构是不能给实例字段赋值的,即 public int Id = 1 是错误的。using System.Collections.Generic;
List
- items = new List
- ();
//添加
Item item1 = new Item();
item1.Id = 0;
item1.DisplayText = "水星";
items.Add(item1);//添加
Item item2 = new Item();
item2.Id = 1;
item2.DisplayText = "地球";
items.Add(item2);
//修改
//这里使用的是结构,故不能直接用 items[1].DisplayText = "金星";,如果 Item 是类,则可以直接用。为什么呢?因为结构是按值传递的。
Item item = items[1];
item.DisplayText = "金星";
items[1] = item;
Array 是针对任意类型、固定长度的。
private void Change(Array array)
{
for (int i = 0; i < array.Length; i++) // 使用 Length
{
array.SetValue((int)array.GetValue(i) * 2, i); // 需要类型转换
}
}
ArrayList 是针对任意类型、任意长度的。
和数组不同,ArrayList 的各个元素的类型可以不同。
声明对象
//声明 ArrayList 有三种重载方法,较常用的有两种
ArrayList al = new ArrayList();
ArrayList al = new ArrayList(3);
上例中,参数值 3 表示容量,即可以容纳多少个元素
Array 和 ArrayList 是通过存储 object 实现任意类型的,所以使用时要转换。
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级