C# 面对对象基础 枚举,Enum.TryParse的使用

news/2024/9/28 16:08:53/

代码:

using System;
using System.Collections.Generic;
using System.Dynamic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;namespace Student_c_
{enum Week : int{Mon,Tus,Wed,Thu,Fri,Sat,Sun,}public class Student{public static string Course = "面向对象程序设计!";public static string Where = "G2-407";public string Name { get; set; }public string ClassName { get; set; }private int Id;// 班级的最大容量,这是一个常量  public const int MaxNum = 39;public bool flag = true;// 学生的ID  public int id{get{return Id;}set{if(value >MaxNum||value <0){Console.WriteLine("学号输入错误");flag = !flag;}else{Id = value;}}}// 构造函数  public Student( int id,string name, string className){this.id=id;Name = name;ClassName = className;}internal class Program{public static void GotoClass(Student stu){if(stu.flag){Console.WriteLine("学号是:{2} 班级是:{0} 姓名是:{1}", stu.ClassName, stu.Name, stu.Id);}else{Console.WriteLine(" 班级是:{0} 姓名是:{1}", stu.ClassName, stu.Name);}}static void Main(string[] args){string a, b;int c;string day;Console.WriteLine("输入学号:");c = int.Parse(Console.ReadLine());Console.WriteLine("输入班级:");a = Console.ReadLine();Console.WriteLine("输入姓名:");b = Console.ReadLine();Console.WriteLine("今天是星期几:");day = Console.ReadLine();Console.WriteLine("\n");//   Week worday=(Week)Enum.Parse(typeof(Week), day);if (Enum.TryParse<Week>(day, true, out Week workday))//{if (workday == Week.Sat||workday==Week.Sun){Console.WriteLine("Today is weekend!!!");}else{Console.WriteLine("Today is {0}", day);}}Student stu = new Student(c, b, a);GotoClass(stu);Console.WriteLine($"课程是:{Course} 教室是:{Where}");Console.ReadLine();}}}
}

注意:这里的对应关系


http://www.ppmy.cn/news/1530654.html

相关文章

深入理解及如何使用main函数参数

目录 前言&#xff1a;一、main函数参数二、main函数参数的意义及如何使用三、从操作系统层面&#xff08;指令&#xff09;理解main函数参数 前言&#xff1a; 在平时编写代码的过程中&#xff0c;我们会经常写main函数&#xff0c;这是一个程序必不可少的&#xff0c;main 函…

【WPF】多屏幕展示

使用环境为.Net Framework&#xff0c;如果有.Net 6的解决方案&#xff0c;欢迎交流。 话不多说&#xff0c;先上代码&#xff01; /// <summary>/// Window窗口展示设置/// </summary>/// <param name"monitor"></param>/// <param nam…

每天学习一个技术栈 ——【Celery】篇(2)

前篇&#xff1a;每天学习一个技术栈 ——【Celery】篇&#xff08;1&#xff09;-CSDN博客 四、常见场景 Celery的灵活性和强大功能使其在各种应用场景中得到广泛应用。以下是一些常见的使用场景&#xff0c;帮助你理解如何在实际项目中利用Celery。 1. 背景任务处理 在Web应…

开发经验总结: 读写分离简单实现

背景 使用mysql的代理中间件&#xff0c;某些接口如果主从同步延迟大&#xff0c;容易出现逻辑问题。所以程序中没有直接使用这个中间件。 依赖程序逻辑&#xff0c;如果有一些接口可以走读库&#xff0c;需要一个可以显示指定读库的方式来连接读库&#xff0c;降低主库的压力…

【C++】继承(下)

个人主页~ 继承&#xff08;上&#xff09;~ 继承 四、派生类的默认成员函数五、继承与友元六、继承与静态成员七、复杂的菱形继承以及菱形虚拟继承1、菱形继承2、菱形虚拟继承 八、继承的总结与反思继承和组合 四、派生类的默认成员函数 派生类的构造函数必须调用基类的构造…

SpringBoot开发——整合P6Spy详细记录SQL执行耗时情况

文章目录 1、p6spy是什么2、SpringBoot整合P6Spy2.1 引入依赖2.2 数据库操作2.3 测试代码2.4 p6spy配置2.5 其它自定义监控并优化数据库操作的性能至关重要。为了提升应用性能和数据库效率,很多项目会实现一个功能来打印SQL执行耗时。这一功能通过在SQL查询执行前后记录时间戳…

SourceTree保姆级教程1:(克隆,提交,推送)

本人认为sourceTree 是最好用的版本管理工具&#xff0c;下面将讲解下sourceTree 客户端工具 克隆&#xff0c;提交&#xff0c;推送 具体使用过程&#xff0c;废话不多说直接上图。 使用步骤&#xff1a; 首先必须要先安装Git和sourceTree&#xff0c;如何按照参考其它文章&…

MT76X8、MT7621、MT7981和QCA9531的GPIO列表

一、 MT76X8 GPIO列表; 二、 MT7621 GPIO列表; 三、MTK7981 GPIO列表; 四、QCA9531 GPIO列表;