一、Array(数组)

1、申明时必须要指定数组长度

2、数据类型安全

申明数组如下:

 1     class Program
2 {
3 static void Main(string[] args)
4 {
5
6 Person[] personArray = new Person[3];
7
8 personArray[0] = new Person { ID = 1, Name = "ZS" };
9 personArray[1] = new Person { ID = 2, Name = "LS" };
10 personArray[2] = new Person { ID = 3, Name = "WW" };
11
12 }
13 }
14
15 public class Person{
16
17 public int ID { get; set; }
18
19 public string Name { get; set; }
20 }

二、ArrayList

1.可以动态扩充和收缩对象大小。

2.但是类型不安全(需要装箱拆箱消耗性能)。

 1  class Program
2 {
3 static void Main(string[] args)
4 {
5 ArrayList al = new ArrayList();
6
7 al.Add(new Person { ID = 1, Name = "ZS" });
8 al.Add(new Studen { ID = 2, Name = "LS", Score = 100 });
9
10 }
11 }
12
13 public class Person{
14
15 public int ID { get; set; }
16
17 public string Name { get; set; }
18 }
19
20 public class Studen {
21
22 public int ID { get; set; }
23
24 public string Name { get; set; }
25
26 public float Score { get; set; }
27 }

三、List

结合Array和ArrayList的特性,List拥有可以扩充和收缩对象大小,并且实现类型安全。当类型不一致时编译就会报错。

 1   class Program
2 {
3 static void Main(string[] args)
4 {
5 List<Person> list = new List<Person>();
6 list.Add(new Person() { ID = 1, Name = "ZS" });
7 list.Add(new Person() { ID = 2, Name = "LS" });
8 }
9 }
10
11 public class Person{
12
13 public int ID { get; set; }
14
15 public string Name { get; set; }
16 }

转载于:https://www.cnblogs.com/Lv2014/p/5695005.html

【总结】Array、ArrayList、List的更多相关文章

  1. 类 Array Arraylist List Hashtable Dictionary

    总结C# 集合类 Array Arraylist List Hashtable Dictionary Stack Queue  我们用的比较多的非泛型集合类主要有 ArrayList类 和 HashT ...

  2. c#中Array,ArrayList 与List<T>的区别、共性与转换

    本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (gith ...

  3. Array,ArrayList、List<T>、HashSet<T>、LinkedList<T>与Dictionary<K,V>

    Array: 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. 但是数组存在一些不足的地方.在数组的两个数据间插入数据是很麻烦的,而且在声明数组的时候 ...

  4. 解析C#中[],List,Array,ArrayList的区别及应用

    [] 是针对特定类型.固定长度的. List 是针对特定类型.任意长度的. Array 是针对任意类型.固定长度的. ArrayList 是针对任意类型.任意长度的. Array 和 ArrayLis ...

  5. .net中的Array,ArrayList和List

    Array:任意类型,定长 ArrayList:任意类型,不定长 List:特定类型,不定长 Array和ArrayList是通过存储object类型实现可以存储任意类型数据,使用时需要拆箱和装箱

  6. [置顶] Array ArrayList LinkList的区别剖析

    这是一个面试中我们经常被问到的问题 Array.ArrayList.LinkList之间的区别:Array.ArrayList.LinkList均属于泛型的范畴,都用来存放元素,主要区别是Array是 ...

  7. Array,ArrayList 和 List<T>的选择和性能比较.

    Array Class Provides methods for creating, manipulating, searching, and sorting arrays, thereby serv ...

  8. C# 中的集合(Array/ArrayList/List<T>/HashTable/Dictionary)

    int [] numbers = new int[5]; // 长度为5,元素类型为 int.string[,] names = new string[5,4]; // 5*4 的二维数组byte[] ...

  9. Array,ArrayList,泛型List比较

    在C#中数组Array,ArrayList,泛型List都能够存储一组对象,但是在开发中根本不知道用哪个性能最高,下面我们慢慢分析分析. 一.数组Array 数组是一个存储相同类型元素的固定大小的顺序 ...

  10. C# 中的集合(Array/ArrayList/List<T>/HashTable/Dictionary)

    int [] numbers = new int[5]; // 长度为5,元素类型为 int. string[,] names = new string[5,4]; // 5*4 的二维数组 byte ...

随机推荐

  1. Linux目录处理命令mkdir详解

    mkdir(英文原意:make directories),基本作用是创建新的目录,命令的路径及权限: 可以看到,这个命令的路径是/usr/bin/mkdir,所以它的执行权限是所有用户 mkdir 创 ...

  2. tensorflow2.0学习笔记第二章第三节

    2.3激活函数sigmoid函数 f(x)= 1/(1 + e^-x)tf.nn.sigmoid(x)特点:(1)求导后的数值在0-0.25之间,链式相乘之后容易使得值趋近于0,形成梯度消失 (2)输 ...

  3. 用Java模拟游戏重力的实现(弹跳)

    年末开了Java实训大作业 想了好几天决定选择马里奥小游戏 发现即使做出来但是跳跃功能是很“笨拙”的,和我们玩的游戏不一样,没有跳跃速度的快慢什么的,后来才知道这个叫做游戏里面重力的模拟. 组队做系统 ...

  4. InnoDB存储引擎的事务

    事务的任务是保证一系列更新语句的原子性,锁的任务是解决并发访问可能导致的数据不一致问题.如果事务与事务之间存在并发操作,此时可以通过隔离级别实现事务的隔离性,从而实现数据的并发访问. 1 原子性(At ...

  5. layui导出表格的两种方法

    一.不熟悉layui小白使用方法 1.引入如下js文件: 2.编写如下函数: 3.表格ID要与函数取值保持一致即可,再就是自定义一个按钮触发事件 二.引入插件使用方法 1.layui官网下载插件包: ...

  6. ubuntu18.04安装部署typecho个人博客

    LNMP一键安装包安装 wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnm ...

  7. @atcoder - AGC024F@ Simple Subsequence Problem

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定由若干长度 <= N 的 01 字符串组成的集合 S. ...

  8. (二)用testng的groups管理用例

    原文链接:https://www.cnblogs.com/Jourly/p/7002096.html 一.需求: 测试时经常有两种场景,第一种是冒烟测试的小部分用例:一类是全部用例. 二.针对第一种运 ...

  9. LR字符串处理函数-lr_save_string

    int lr_save_string( const char *param_value, const char *param_name) 指定字符串保存至参数 Action() { lr_save_s ...

  10. mingw32 exception在sjlj与dwarf差别-反汇编分析

    sjlj (setjump/longjump)与dwarf-2为mingw32两种异常处理模型的实现.sjlj有着开销,而随linux发行的mingw32开发库包都是用sjlj版编译的,而Qt却采用d ...