结构体
定义
不能定义在函数方法内
结构体的特点
1.一个结构体中可以包含多个变量
2.当想要使用多个数据来描述一个事物时考虑使用结构体
类型和实例
类型:抽象的,学生就是一个抽象的
实例:具象的 ,比如说:小明这个学生
实例是同类型定义出来的
使用
1、定义结构体的类型
2、通过结构体类型定义变量
3、使用变量去访问或修改数据
访问修饰符
public
1.使用public修饰的成员为公共成员
2.公共成员在结构外部是可以通过当前结构体或类的变量去访问或修改Public修饰的实例变量
private:私有的
1.使用private修饰的成员为私有成员
2.私有成员在结构外部是不可访问和修改的,只能在当前的类或结构体中使用
3.如果成员没有访问修饰符,默认是private
数组
概念:存储同一个类型的一组数据的集合
分类:一维数组,多维数组,交错数组
一维数组
定义
多个相同类型的变量的序列
访问
1.通过下标(索引)来访问和修改每一个元素
2.数组的长度可以通过数组名.Length访问
3.索引的范围 从0开始,到数组的长度 - 1
数组的初始值
1.当创建一个数组,没有赋值的时候,系统会自动帮我们创建数组的初始值
2.各类型的默认初始值
int:0 string:空字符串 bool:false 枚举:0 结构体:结构体内部的变量的初始值规律一样
遍历打印
练习1:翻转数组
char[] letters = new char[26]; int startA = 65; //将26个英文字母(大写)正序放入数组中 for (int i = 0; i < letters.Length; i++) { //大写A = 65 //当前字母对应的ASCII int current = startA + i; letters[i] = (char)current; } //遍历打印 for (int i = 0; i < letters.Length; i++) { Console.Write(letters[i] + " "); } //反转,两两交换 //第1个和最后一个交换 0 <-> Length - 1 - 0 //第2个和倒数第二个交换 1 <-> Length - 1 - 1 //第3个和倒数第三个交换 2 <-> Length - 1 - 2 //第i个和倒数第i个交换 i <-> Length - 1 - i //如果是2个元素,只需要交换1次 //如果是3个元素,也是交换1次 //如果是10个元素,交换5次 //如果是length个元素,交换length/2次 for (int i = 0; i < letters.Length / 2; i++) { //将第i个元素存储在临时变量中 char temp = letters[i]; //将倒数第i个元素赋值给第i个位置 letters[i] = letters[letters.Length - 1 - i]; //将临时变量中存储的第i个元素赋值给倒数第i个位置 letters[letters.Length - 1 - i] = temp; } Console.WriteLine(); Console.WriteLine(); //遍历打印 for (int i = 0; i < letters.Length; i++) { Console.Write(letters[i] + " "); }
字符串拆分成一维数组
1.字符串名.split(分割字符);
string str = "abc,def,ghi,jkl,mn"; //以,字符分割字符串, 得到的结果是字符串类型的数组,不能用字符串分割 string[] array = str.Split(','); for (int i = 0; i < array.Length; i++) { Console.WriteLine(array[i]); }
2.拆分完得到的是一个字符串类型的数组