C#入门基础语法总结(数组和集合)

一、数组

1、一维数组的创建:

        数组元素数据类型[] 数组名字;  如 int[]arr; String[] arr;

2、一维数组的初始化

①  int[] arr=new int[3]; int[0]=1;int[1]=2;int[2]=3;

② int[] arr=new int[]{1,2,3};

③int[]arr={1,2,3};

3、二维数组的创建:

      ① 数据类型[, ]数组名  int[, ]a=new int[2,4];2行4列的数组。适合规则数组

      ②数据类型[][] 数组名 int[][] a=new int[2][];int[0]=new int[2];表示第一行两列。int[1]=new int[3];表示第二行三列。注意:此种命名方法不能指定列数。先指定行数后给每一行指定列数

4、二维数组的初始化

① int[, ] arr=new int[2,2]; arr[0,0]=0;arr[0,1]=1;.....

②int[][] arr=new int[2][]; arr[0]=new int[]{0,1};arr[1]=new int[]{1,2}; 注意:先确定行,每一行都是一个一维数组。

③int[, ] arr=new int[2,2]{{12,0},{45,10}};  int[, ] arr=new int[]{{12,0},{45,10}};int[, ] arr={{12,0},{45,10}};

二、数组的操作

1、一维数组的输入与输出:使用单层循环

2、二维数组输入与输出:使用双层循环

3、foreach方法遍历数组:foreach(int number in arr)

4、数组的排序:升序sort()从小到大,reverse()反向排序;

5、冒泡排序:基本思想比较相邻的两个数,满足条件,较小的数排在数组前面,较大的数排在数组后面。需要使用双层循环,//外层循环代表比较轮数,5个数要比较4轮.//内从循环代表比较次数,第一轮比较4次,第二轮比较3次.

6、选择排序:基本思路是把满足条件的元素与指定位置的元素位置交换。双层for循环实现,外层循环比较轮数。每一轮找出一个最小值,进行位置互换。内层循环找到最小值的索引。

三、ArrayList类

 1、ArrayList的三种构造器:

①使用默认构造器

ArrayList List=new ArrayList();

for(int i=0;i<10;i++){List.Add()}

②用一个IColliction对象构造

ArrayList List=new ArrayList(arryName)

③用指定的大小初始化内部数组

ArrayList List=new ArrayList(n);

2、ArrayList元素的添加

①add方法 在末尾处添加元素

②insert 方法 insert(index,value)index索引,value值

3、ArrayList元素删除

①Clear方法移除所有元素

②remove方法 移除指定对象的第一个对象 remove(Obj)

③RemoveAt方法 RemoveAt(int index)

④RemoveRange(index,count)index开始的索引 count移除的个数

4、ArrayList遍历数组

foreach()

5、ArrayList元素的查找

①Contains方法 Contains(Obj)

②IndexOf方法返回首次出现的位置

③LastIndexOf方法最后一个匹配项出现的位置

四、Hashtable类

1、Hashtable 元素的添加

add(key,value)key键value值

2、Hashtable元素的移除

①Clear方法

②Remove方法 Remove(key)

3、Hashtable的遍历 使用DictionnaryEntry类型进行遍历

4、Hashtable元素的查找

①Contains方法 Contains(key)

②ContainsValue方法 ContainsValue(value)

五、泛型集合

1、泛型集合的使用

List<int> scorelist=new List<int>();

2、集合初始化器

List<int> scorelist=new List<int>(){1,2,3,4,5};

3、操作方法

添加元素  add()

个数用count属性

插入 insert(index,value)

遍历 foreach();for()

删除元素 Remove(value);RemoveAt(index)

全部删除 Clear()

4、特点

(1)数据类型的可变性 可以存储int,string,对象类型

(2)泛型是一种特殊的“可变”类型,只有实例化类或方法使用的时候才确定具体的类型。类型一旦确定不可改变