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

一 .方法重载

 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);

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

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

  • 14
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值