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#枚举类型和结构体类型都是特殊的值类型,应用也比较广泛。
- 访问修饰符与类成员的访问修饰符一样,省略访问修饰符也是代表使用 private 修饰符的。
- 数据类型指枚举中值的数据类型。只能是整数类型,包括 byte、short、int、long 等。
- 值1、值2、……在枚举类型中显示的值。但实际上每个值都被自动赋予了一个整数类型值,并且值是递增加 1 的,默认是从 0 开始的,也就是值 1 的值是 0、值 2 的值是 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、}