C#中的数组
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:C#
作者:吴锦华
撰写时间:2021/9/28
一、C#数组简介
数组从字面上理解就是存放一组数,但在 C# 语言中数组存放的并不一定是数字,也可以是 其他数据类型。
数组的特点:
1.在一个数组中存放的值都是同一数据类型的。
2.数组中某个指定的元素是通过索引来访问的。
3.所有的数组都是由连续的内存位置组成的。
4.数组从零开始建立索引,即数组索引从零开始。
- 一维数组
一维数组在数组中最常用,即将一组值存放到一个数组中,并为其定义一个名称,通过数组中元素的位置来存取值。
定义一维数组的语法形式如下:
1 //定义数组
2 数据类型[] 数组名;
1 //初始化数组中的元素
2 数据类型[] 数组名 = new 数据类型[长度];
3 数据类型[] 数组名 = {值 1, 值 2, ...}
4 数据类型[] 数组名 = new 数据类型[长度]{值 1,值 2,...}
举例如下:

三、多维数组
多维数组是指二维或二维以上的数组。一般我们最常用的是二维数组。
定义多维数组的语法形式如下。
1 //定义多维数组
2 数据类型[ , , ...] 数组名;
1 //创建多维数组并初始化
2 数据类型[ , , ...] 数组名 = new 数据类型[m,n,...] {{ , , ...},{ , , ...}};
从上面定义的语法可以看出,它与一维数组的定义非常类似,每多一个维度则定义时的[]中增加一个“,”。
存取数组中的值也是将下标用“,”隔开。
多维数组初始化:

举例如下:

四、foreach遍历
foreach 循环用于列举出集合中所有的元素,foreach 语句中的表达式由关键字 in 隔开的两个项组成。
in 右边的项是集合名,in 左边的项是变量名,用来存放该集合中的每个元素。
该循环的运行过程如下:
每一次循环时,从集合中取出一个新的元素值。放到只读变量中去,如果括号的整个表达式返回值为 true,foreach 块中的语句就能够执行。
一旦集合中的元素都已经被访问到,整个表达式的值为 false,控制流程就转到 foreach 块后面的执行语句。
具体的语法形式 如下:
1 foreach(数据类型 变量名 in 数组名)
2 {
3 //语句块;
4 }
注意:foreach 语句仅能用于数组、字符串或集合类数据类型。
举例如下:使用foreach遍历上一节中的数组

五、字符串分割
Split 方法用于按照指定的字符串来拆分原有字符串,并返回拆分后得到的字符串数组。
比如有一个字符串 “张三、吴四、黄五、王六”,如果想将其分割成单独的字符串,此时就可以使用string类的split方法。
举例如下:

六、结构体类型
结构体类型是一种自定义值类型,与类比较相似。
由于结构体类型是值类型,在使用时会比使用类存取的速度更快,但灵活性方面没有类好。
定义语法:
1 访问修饰符 struct 结构体名称
2 {
3 //结构体成员
4 }
其中:
1) 访问修饰符
通常使用 public 或者省略不写,如果省略不写,代表使用 internal来修饰。
如果结构体中的内容要被其他类中的成员访问,需要将其访问修饰符设置为 public。
2) 结构体名称
命名规则通常和类的命名规则相同,即每个单词的首字母大写。
3) 结构体成员
包括字段、属性、方法以及事件等。但无法进行初始化操作。
在结构体中也能编写构造器,但必须带参数,并且必须为结构体中的字段赋初值。
结构体和类的区别如下表:
|
结构体 |
类 |
|
允许不使用new对其实例化 |
必须使用new实例化 |
|
没有默认构造方法 |
有默认构造方法 |
|
不能继承类 |
能继承类 |
|
不允许使用abstract、protected以及sealed修饰 |
允许使用abstract、protected以及sealed修饰 |
举例如下:

七、枚举类型
C#枚举类型和结构体类型都是特殊的值类型,应用也比较广泛。
枚举类型在定义时使用 enum 关键字表示,枚举类型的定义与类成员的定义是一样的,或者直接定义在命名空间中。
定义枚举类型的变量的语法形式如下:
1 访问修饰符 enum 变量名 : 数据类型
2 {
3 值l,
4 值2,
5 }
其中:
1) 访问修饰符
与类成员的访问修饰符一样,省略访问修饰符也是代表使用 private 修饰符的。
2) 数据类型
指枚举中值的数据类型。只能是整数类型,包括 byte、short、int、long 等。
3) 值1、值2、
……在枚举类型中显示的值。但实际上每个值都被自动赋予了一个整数类型值并且值是递增加1 的,默认是从 0 开始的,也就是值 1 的值是 0、值 2 的是 1。
如果不需要系统自动为枚举值指定值,也可以直接为其赋一个整数值。
举例如下:


以上为我的C#中的数组内容,希望对每一位读者都有所帮助,同时我也期待有读者发表建议对我的内容补充和修改。后续能总结出比较完善的文献论文。
本文介绍了C#中的数组,包括数组的特点、一维数组的定义与初始化、多维数组的创建、foreach遍历数组的方法、字符串Split操作以及结构体和枚举类型的使用。详细阐述了数组的存储方式、索引访问以及在不同场景下的应用。
331

被折叠的 条评论
为什么被折叠?



