C#-------复杂的变量,枚举,结构

我们知道,在C#中,除了简单的变量类型外,还有几种复杂的变量-----枚举,结构,数组。数组已经在上一篇博客中介绍了,现在让小编来讲讲枚举和结构吧。

1.枚举

a.枚举的定义:
枚举是一种独特的字段,它是值类型数据,主要用于声明一组具有相同性质的变量。
b.枚举的作用
使用枚举可以增加程序的可读性和维护性。同时,枚举类型可以避免类型错误。
c.枚举的使用

 //枚举类型的定义
    enum GameState : byte ///修改枚举类型的存储类型,其默认为int;
    {
        Playing,///默认代表的是整数0;      
        Pause,///默认代表的是整数1;
        Over,///默认代表的是整数2;   
    }
     class Program
    {
       static void Main(string[] args)
        {
            //枚举类型的比较
            GameState state = GameState.Over;
            int num = (int)state;///显式转换
            Console.WriteLine(num);
            Console.ReadKey();

输出结果为2
说明:在定义枚举类型时,如果不对其进行赋值,默认情况下,第一个枚举数的值为0,后面每个枚举数的值依次递增1;当然,也可以修改枚举数值,可以不连续,但要递增。

2.结构

a.结构的定义
结构是将多个相关的变量包装成为一个整体使用。在结构体中的变量可以是相同、部分相同、或完全不同的数据类型;而枚举则要是相同的数据类型。
b.结构的使用

///结构体的声明,可以把结构体当成几个类型组成一个新的类型
    ///比如下面这个结构体,由三个float类型组成一个位置
    struct Position
    {
      public float x;
      public float y;
      public float z;            
    }
      class Program
    {
       static void Main(string[] args)
        {
           //当使用结构体声明变量的时候,相当于使用结构体中的所有变量去声明
            Position enemy1Position;
            enemy1Position.x = 34;//可以通过.加上属性名来访问结构体中指定变量
            Position enemy2Position;
            enemy2Position.y = 35;
        }

例如:在这里插入图片描述

 struct LuJin
    {
        public Direction fangxiang;
        public int distance;
    }
    enum Direction:byte
    {
        Dong,
        nan,
        xi,
        bei,
    }
      class Program
    {
       static void Main(string[] args)
        {
            LuJin path;//用结构去声明变量
            path.distance = 100;
            path.fangxiang = Direction.bei;
        }

总结:
1.结构是值类型。
2.向方法传递结构时,结构是通过传递值方式传递,而不是作为引用传递的。
3.结构的实例化不可以用new 关键字。
关于结构,小编就先写到这,若有后续修改,再进行补充。欢迎指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值