zoukankan      html  css  js  c++  java
  • 枚举和结构体

    枚举和结构体是值类型,存储在栈上;

    定义枚举变量时必须赋值;

    只能用枚举指定的值给枚举变量赋值;

    枚举变量.tostring();输出的是字母字符串,而不是整型字符串;

    enum Season{spring,summer,fall,winter}
    
    Season season = Season.summer;
    
    int a = (int)season;// 结果 a = 1;

    定义枚举的最佳方式:

    enum Season : byte {spring,summer,fall,winter} //这样比较节省内存

    枚举允许这样的运算

    season++;     season + 2//但是要注意不能超过枚举值的最大值

    当一个类的数据成员很少,重在包装数据,这时候,管理堆中对象显得不划算,定义成结构体比较好;

    结构体的所有数据成员都在栈中;

    结构体允许有字段,方法,构造器;

    限制如下:

    用户必须提供一个构造函数,有且仅仅有一个构造函数,构造函数要为全部的字段赋值;

    声明字段时,不要为结构体赋值,否则编译错误;

    定义结构体时,必须调用new,不能=null(因为它不是引用呀!!!)

    结构体的复制

    用 “ = ” 即可,会把右边的结构体变量的成员一一赋给左边的结构体变量;这与引用类型的赋值完全不同,引用类型的只是把栈中的引用复制一下,堆中还是只有一份。(浅拷贝)

    结构体举例

    int就是一个结构体;int是System.Int32的别名;结构体允许有自己的方法和静态字段;比如

    int.Parse() 是方法;int.MaxValue是静态字段;

     
  • 相关阅读:
    Atom使用教程
    4-[函数]-参数
    4-[函数]- 独立功能的代码块
    3 [文件]-修改文件
    2 [文件]-文件操作
    1. [文件]- 文件类型,文件open模式
    2-16 阶段考核
    react native 网络get请求方式参数不可为undefined或null
    [网络]远程访问局域网svn服务器[转]
    react native listview 一个有用的属性,用作两列布局
  • 原文地址:https://www.cnblogs.com/maoshuyi/p/9924683.html
Copyright © 2011-2022 走看看