首页 > 编程语言 >C#的方法重载,枚举,结构体

C#的方法重载,枚举,结构体

时间:2024-07-02 20:27:28浏览次数:3  
标签:Console C# void int 枚举 static WriteLine 重载

一 .方法重载

 static void Add()
 {
     Console.WriteLine(10+20);
 }
 static void Add()
 {
     Console.WriteLine(10.5+20.5);
 }

上述的代码是无法运行的,报错的原因是因为,他们两个方法名一样,所以报错,而方法重载,简单的说就是要两个方法名一样,如果方法名一样,那又该怎么区分我们要调用的是哪个方法呢?

方法重载,顾名思义,方法名一样,如果方法名一样的话,那在我们编译的时候,就要区分这相同的方法名,区分的方式一共有三种,①数据类型不同   ②参数个数不同   ③参数的顺序不同

1.数据类型不同

static void Abc(int a,int b)
{
    Console.WriteLine(a+b);
}
static void Abc(double a,double b)
{
    Console.WriteLine(a+b);
}

通过上述代码可以看到,两个方法名是一样的,但是参数的数据类型不同,所以可以使用

2.参数个数不同

static void Abc(int a,int b)
{
    Console.WriteLine(a+b);
}
static void Abc(int a, int b,int c)
{
    Console.WriteLine(a+b+c);
}

上述代码中,方法名一样,数据类型也一样,区别在于第二个方法是三个参数,所有可以使用

3.参数的顺序不同

static void Abc(int a,double b)
{
    Console.WriteLine(a+b);
}
static void Abc(double a,int b)
{
    Console.WriteLine(a+b);
}

上述代码中,方法名一样,但是可以看见参数的顺序不同,但依然不影响调用

二 .枚举类型

       首先我们要知道一个概念,long 、int、double......这些数据类型都是系统给我们提供的,但是枚举类型不是,它是我们自己定义的。枚举类型的关键字:enum

1.创建一个枚举

enum abc 
{ 
    A,B,C,D,E,F,G
}

enum 是我们创建枚举类型的关键字

创建方式:enum 枚举名    {   枚举内容   }

2.如何调用枚举内的内容

abc abc = abc.A;
if (abc == abc.A)
{
    Console.WriteLine("是A");
}

这是main主函数的代码,调用方式:枚举名 变量=枚举名.枚举内容

可以看到经过if语句判断,我们通过枚举调用的变量abc的内容是枚举的内容

3.在这里我们要知道,枚举的内容是有默认值的,下标是从0开始,同时它的默认值也可以改变,直接通过赋值即可。我们也可以输出这个默认值,在main主函数内,int num=(int)abc.A

三 .结构体

结构体的作用:将某些代码做一个整合,组成一个数据类型。

结构体的关键字:struct

1.如何创建结构体

struct Student 
{ 
    public string name;
    public int age;
    public int id;
    public string sex;
}

通过关键字struct创建结构体,  struct   结构体名   {     结构体内的各个变量      }

在结构体内,我们需要对每个变量进行封装,因为我们在主函数调用的时候,需要调用里边的数据,如果不进行封装,则无法访问

2.定义结构体

Student student = new Student();
student.name = "张三";
student.id = 12345;
student.age = 18;
student.sex = "男";

Console.WriteLine(student.name);

使用结构体声明一个变量,这个变量就代表结构体

最后通过变量名.结构体内容输出查看结果

标签:Console,C#,void,int,枚举,static,WriteLine,重载
From: https://blog.csdn.net/weixin_60694811/article/details/140134791

相关文章

  • AT_tdpc_number 数 题解
    题目传送门前置知识数位DP|记忆化搜索解法本题的提交在luogu上挂了,建议去原站或Vjudge上提交。基础数位DP,记录当前位置、已填的数码之和,接着记忆化搜索即可。需要注意的是\(0\bmodd=0\),如果写得不太好看(未处理前导零)的话需要减去其贡献。代码#include<bits/......
  • python: create Envircomnet in vscode 创建虚拟机
    先配置python开发环境 1.在搜索栏输入“>"或是用快后键ctrl+shift+P键就会显示”>",再输入"python:"   选择已经安装好的python的版本至当前项目中   2terminal下输入相关命令行操作,选进入虚拟机的的文件夹下cd.venv/scripts再进行激活虚拟机。输入ac......
  • Hackthebox bagel.dll 代码审计
    利用ilspy将bagel.dll打开关于此目录有可以说的内容目录解析最上方的bagel是组装名字(assemblename)bagel_server是命令空间(namespace)下一级分支是类如File,Base,Handler,Orders等(class)反序列化导致的命令执行漏洞代码审计思路 首先看主程序Bagel1.通过明显的英语翻......
  • Elasticsearch集群部署(上)
    目录前言一.环境准备二.实施部署三. 安装配置head监控插件(只在第一台es部署)四.Kibana部署(当前还是在第一台es部署)五. 安装配置Nginx反向代理六. Logstash部署与测试前言1.Elasticsearch:  是一个基于Lucene的搜索服务器。提供搜集、分析、存储数据三大......
  • Neo4j-Cypher
    1.1Cypher1.1.1概念Neo4j中不存在表的概念,只有两类:节点(Node)和关联(Relation),可以简单理解为图里面的点和边。1.1.2CREATE新建节点-标签-关系CREATE(pll:TEST1{name:'森林',mj:"5000亩"}),(pl2:TEST1{name:'沙漠',mj:"3000亩"}),(lb1:TEST2{name:'大树'}......
  • CS253 Laboratory session
    CS253 Laboratorysession4Part 1: Disassembling code, going backwards, converting an executable back to Assembly Language.Preamble: Remember that whatever language you are using ultimately it runs as Machine Code onthe processor......
  • NetCore的全局日志记录
    Http进来的数据和出去的数据都记录在log中publicclassHttpLoggingMiddleware{privatereadonlyRequestDelegate_next;privatereadonlyILogger<HttpLoggingMiddleware>_logger;publicHttpLoggingMiddleware(RequestDelegatenext,ILogger<HttpLoggingM......
  • exLucas
    参考博客exLucas:求\(C_n^m\bmodd\)(\(d\)不一定为质数)1.将\(d\)质因数分解为\(d=p_1^{c_1}\timesp_2^{c_2}\times\cdots\timesp_k^{c_k}\)\(\foralli,j\in[1,k]\),\(p_i^{c_i}\)与\(p_j^{c_j}\)互质,所以可以构造出如下同余方程:\[\begin{cases}a_1\equivC_......
  • 电赛开发板之c2000 f28069m开发环境配置与报错because its compiler definition is no
    1.CSS报错Seedetailsbelow...  Error:Importfailedforproject'Example_2806xECap_Capture_Pwm'becauseitscompilerdefinitionisnotavailable.PleaseinstalltheC2000v22.6compilerbeforeimportingthisproject-click'View>CCSA......
  • 【SPIE独立出版】第三届智能机械与人机交互技术学术会议(IHCIT 2024,7月27)
    由北京航空航天大学指导,北京航空航天大学自动化科学与电气工程学院主办,AEIC学术交流中心承办的第三届智能机械与人机交互技术学术会议(IHCIT2024)将定于2024年7月27日于中国杭州召开。大会面向基础与前沿、学科与产业,旨在将“人工智能”、“智能系统”和“人机交互”等学......