C#中的数组

 一、数组的特点

1、 在一个数组中存放的值都是同一数据类型的。

2、 数组中某个指定的元素是通过索引来访问的。

3、 所有的数组都是由连续的内存位置组成的。

4、 数组从零开始建立索引,即数组索引从零开始。

二、二维数组

一维数组在数组中最常用,即将一组值存放到一个数组中,并为其定义一个名称, 

通过数组中元素的位置来存取值。

举例如下:

1、//定义 int 类型的数组

2、int[] a = {1,2,3};

3、//输岀数组中的一个元素

4、Console.WriteLine(a[0]);

5、//输出数组中的最后一个元素

6、Console.WriteLine(a[a.Length‐1]);

三、多维数组

多维数组是指二维或二维以上的数组,多维数组与一维数组的定义非常类似,每多一个维度则在定义时的[ ]中增加一个“,”。存取数组中的值也是将下标用“,”隔开。

举例如下:

1、static void Main(string[] args)

2、{

3 、int[,] arr = new int[2, 2] { { 2, 3 }, { 4, 5 } };

4、

5 、for(int i = 0; i < arr.GetLength(0);i++)

6、 {

7、 for (int j = 0; j < arr.GetLength(1); j++)

8、 {

9、 Console.WriteLine(arr[i, j]);

10 、}

11 }

12}

四、foreach遍历

foreach 循环用于列举出集合中所有的元素,foreach 语句中的表达式由关键字 in 隔开的两个项组成。in 右边的项是集合名,in 左边的项是变量名,用来存放该集合中的每个元素。

该循环的运行过程如下:

每一次循环时,从集合中取出一个新的元素值。放到只读变量中去,如果括号中的整个表达式返回值为 true,foreach 块中的语句就能够执行。一旦集合中的元素都已经被访问到,整个表达式的值为 false,控制流程就转入到 foreach 块后面的执行语句。

举例如下:使用foreach遍历上一节中的数组

1、static void Main(string[] args)

2、{

3、 int[,] arr = new int[2, 2] { { 2, 3 }, { 4, 5 } };

4、

5、 foreach(int item in arr)

6 、{

7、 Console.WriteLine(item);

8、 }

9、 }

五、字符串分割

比如有一个字符串 “张三、李四、王五、赵六”,如果想将其分割成单独的字符串,此时就可以使用string类的split方法。

举例如下:

1、static void Main(string[] args)

2、{

3、

4、 string str = "张三、李四、王五、赵六";

5、

6 、string[] strarr = str.Split('');

7、

8 、foreach (string item in strarr)

9 、{

10、 Console.WriteLine(item);

11、 }

12、}

七、枚举类型

C#枚举类型和结构体类型都是特殊的值类型,应用也比较广泛。

  1.  访问修饰符与类成员的访问修饰符一样,省略访问修饰符也是代表使用 private 修饰符的。
  2.  数据类型指枚举中值的数据类型。只能是整数类型,包括 byte、short、int、long 等。
  3.  值1、值2、……在枚举类型中显示的值。但实际上每个值都被自动赋予了一个整数类型值,并且值是递增加 1 的,默认是从 0 开始的,也就是值 1 的值是 0、值 2 的值是 1。如果不需要系统自动为枚举值指定值,也可以直接为其赋一个整数值。

举例如下:

  1. /// <summary>

2、/// 定义一个星期的枚举类型,并且每个元素的值类型为byte

3、/// </summary>

4、public enum WeekEnum : byte

5、{

6、 SUN, //星期日

7、 MON, //星期一

8、 TUE, //星期二

9、 WED, //星期三

10、 THU, //星期四

11、 FRI, //星期五

12、 SAT //星期六

13、}

14、

15、class Program

16、{

17、 static void Main(string[] args)

18 、{

19 、WeekEnum week = WeekEnum.THU;

20、

21、 PrintWeek(week);

22、

23 、}

24、

25 、public static void PrintWeek(WeekEnum week)

26、 {

27 、switch(week)

28、 {

29 、case WeekEnum.SUN:

30、 Console.WriteLine("周日休息");

31、 break;

32 、case WeekEnum.MON:

33、 Console.WriteLine("周一上课");

34 break;

35 case WeekEnum.TUE:

36、 Console.WriteLine("周二上课");

37 、break;

38 、case WeekEnum.WED:

39 、Console.WriteLine("周三上课");

40 、break;

41、 case WeekEnum.THU:

42、 Console.WriteLine("周四上课");

43、 break;

44 、case WeekEnum.FRI:

45 、Console.WriteLine("周五上课");

46、 break;

47 、case WeekEnum.SAT:

48、 Console.WriteLine("周六休息");

49、 break;

50、 }

51、 }

52、}