|
1. 泛型
泛指某种类型。
1、使用参数形式定义 2、使用时传入具体类型 3、编译时检查类型安全 4、逻辑上是多个不同类型
泛型与非泛型之间的区别
- 性能高:可以避免装箱和拆箱操作
- 类型安全 :在进行类型转换的时候不会抛出异常
- 代码重用:定义一次,用许多种不同类型实例化
- 代码扩展性好
- ArrayList arr = new ArrayList();
- arr.Add(1);
- arr.Add("a");
- arr.Add(2);
-
- foreach (int a in arr)
- {
- System.Console.WriteLine(a); // 编译阶段不会报错,但运行时报错
- }
复制代码 使用List 泛型集合解决问题:- List<int> list = new List<int>();
- list.Add(1);
- list.Add(2);
-
- // list.Add("a"); // 编译阶段就能发现问题,因为此时已经指定为Int类型,不能再乱加数据了
- foreach (int a in arr)
- {
- System.Console.WriteLine(a);
- }
复制代码
2. 枚举
枚举指的是一组固定的常量集合。例如生活中的性别,星期,季节等等,这些都是固定常量值组成。声明一个枚举的关键是enum, System.Enum类型是所有枚举类型的抽象基类 .
枚举的作用:
提高程序的可读性。
反例- int sex =1;
- if(sex==0){
- Console.WriteLine("男");
- }else if(sex==1){
- Console.WriteLine("女");
- }else{
- Console.WriteLine("未知");
- }
复制代码
时间久了,或许连自己都不知道 0,1,2到底是什么意思了。
正例:- enum Sex
- {
- Man,
- Women
- }static void Main(){ Sex sex = Sex.Man; switch(sex) { case Sex.Man: Console.WriteLine("男"); break; case Sex.Women: Console.WriteLine("女"); break; default: Console.WriteLine("未知"); break; }}
复制代码
枚举类型转换
其实每一个枚举值,都会对应一个整形值,默认从0开始,如上述的,Man =0, Women=1. 也可以为枚举指定整形值,如:- enum Sex
- {
- Man=10, // 默认是0
- Women // 如果上述指定了10,则Woman=11,如果没有指定值为10,则为1
- }
复制代码
枚举值默认为依次递增,直到再次遇到指定的值的枚举值,如:- enum OrderState
- {
- WaitPay=10, // 默认是0
- Pay, // 11
- waitSend, // 12
- WaitReceive=30, // 30
- WaitComment, // 31
- Finish, // 32
- Cancel // 33
- }
复制代码
整形与枚举相互转换- // 枚举转换为整形
- OrderState orderState = OrderState.Finish;
- int state = (int) orderState;
- Console.WriteLine(state); //32
- // 整形转换为枚举
- int pay = 11;
- OrderState state2 = (OrderState) pay;
- Console.WriteLine(state2); // Pay
复制代码
字符串与枚举相互转换- // 枚举转换为字符串
- OrderState state = OrderState.WaitComment;
- string strState = state.ToString();
- Console.WriteLine(strState); // WaitComment
- // 字符串转换为枚举
- string waitSend = "WaitSend";
- OrderState state2 = (OrderState)Enum.Parse(typeof(OrderState), waitSend);
复制代码
3 .Net 6.0 顶级语句
在创建.Net Core 6.0 项目时,会发现,Program.cs文件中 把最基本的Main方法给去掉了,这其实是 C#9.0 语法中的顶级语句语法
应用程序中只有一个文件可使用顶级语句。 如果编译器在多个源文件中找到顶级语句,则是错误的。 如果将顶级语句与声明的程序入口点方法(通常为 Main 方法)结合使用,也会出现错误。 从某种意义上讲,可认为一个文件包含通常位于 Program 类的 Main 方法中的语句。
4. 综合练习
学生类:学号(int),姓名(string),性别(char), 年龄(int)- *****************欢迎来到任我行码农场,学生管理系统********************<br> ---- 1. 展示所有学生信息<br> ---- 2. 添加一个学生信息<br> ---- 3. 删除一个学生信息<br> ---- 4. 按学号修改学生信息<br> ---- 5. 按学号查找<br> ---- 6. 退出系统<br>请输入(1-6):
复制代码 按要求实现上述功能。
视频教程:
誉尚学教育_誉尚学教育腾讯课堂官网 (qq.com)
或者:
来源:https://www.cnblogs.com/xuyubing/archive/2023/05/30/17443361.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|