C# List用 法 所 属 命 名 空 间 : System
Collections
Generic public class List : IList, ICollection, IEnumerable, IList, ICollection, IEnumerable List类 是 ArrayList 类 的 泛 型 等 效 类
该 类 使 用 大 小 可 按 需 动 态 增 加 的 数组 实 现 IList 泛 型 接 口
泛 型 的 好 处 : 它 为 使 用c#语 言 编 写 面 向 对 象 程 序 增 加 了 极 大 的 效 力 和 灵 活性
不 会 强 行 对 值 类 型 进 行 装 箱 和 拆 箱 , 或 对 引 用 类 型 进 行 向 下 强 制 类 型 转 换 ,所 以 性 能 得 到 提 高
性 能 注 意 事 项 : 在 决 定 使 用IList 还 是 使 用ArrayList 类 ( 两 者 具 有 类 似 的 功 能 ) 时 ,记 住 IList 类 在 大 多 数 情 况 下 执 行 得 更 好 并 且 是 类 型 安 全 的
如 果 对 IList 类 的 类 型 T 使 用 引 用 类 型 , 则 两 个 类 的 行 为 是 完 全 相 同 的
但 是 , 如 果 对 类 型 T 使 用 值 类 型 , 则 需 要 考 虑 实 现 和 装 箱 问 题
用 微软的 话讲: “添加 到 ArrayList 中的 任何引 用 或 值 类 型 都将隐式地向 上强 制 转 换 为 Object
如 果 项是 值 类 型 , 则 必须在将其添加 到 列表中时进 行 装 箱 操作, 在检索时进 行 取消装 箱 操作
强 制 转 换 以 及装 箱 和 取消装 箱 操作都会 降低性 能 ;在必须 对 大 型 集 合 进 行 循