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

    1.结构  struct

                 所有的值类型都是一个结构,所有的引用类型都是一个Class 类   (结构是值类型,而类是引用类型)

                    struct 类型是一种值类型 自定义类型   通常用封装小型相关变量组。             

                    由于结构不使用引用,因此结构没有标识;无法区分具有相同数据的两个类型实例。        

                    与类不同,结构的实例化可以不适用new运算符            

    结构的实例化有两种方式:
                struct MyStr
                {
                    public int i;
                }            
                MyStr ms1 = new MyStr();
               MyStr ms2;
               ms2.i=10;
    struct Goods   //相当于模板
        {
            public void Print()
            {
                Console.WriteLine(Name + Price + Count);
            }
            public Goods(string name)   //有参的构造函数
            {
                this.name = "bbb";
                this.price = 1.5;
                this.count = 5;
            }
            string name;
            public string Name
            {
                get
                {
                    return name;
                }
                set
                {
                    name = value;
                }
            }
            double price;
            public double Price
            {
                get
                {
                    return price;
                }
                set
                {
                    price = value;
                }
            }
            int count;
            public int Count
            {
                get
                {
                    return count;
                }
                set
                {
                    count = value;
                }
            }
        }

                    结构可以声明构造函数,但他们必须带函数。                

                    结构可以实现接口            

                    结构的访问修饰符可以是public,internal,但不可以是 protected 默认修饰符为internal.

    2.枚举

                由一组称为枚举数列表的2命名常量组成的独特类型  “列举”是值类型,继承ValueType的.

            枚举类型的图标是两个小标签 
    
                Console.WriteLine(Sex.男.ToString());   //枚举类型转化成字符串
                // typeof  把某种类型转变成type类型
                从字符串到枚举    string类型要转换的值枚举中必须有值
                Sex s = (Sex)(Enum.Parse(typeof(Sex), ""));
                从基础数到枚举 
                Sex ss = (Sex)(-1);
                Console.WriteLine(ss);
    //循环遍历
    foreach (string str in Enum.GetNames(typeof(Sex))) { Console.WriteLine(str); }
               enum Sex : uint  //无符号整型
               {
                     男 = 0,
                     女 = 1,
                     人妖 = 2
               }
     
    
    

    [Flags] 位运算  或运算

        

     static void Main(string[] args)
     {
    Food food = Food.包子|Food.饺子;         Console.WriteLine(food);

    }
    enum Food
        {
            包子=1,
            面条=2,
            饺子=4,
            烧饼=8
        }

               

    
    
    static void Main(string[] args)
     {
        Console.WriteLine(Enum.Format(typeof(Days), 1, "G"));
        Console.WriteLine(Enum.Format(typeof(Days), 1, "X"));
        Console.WriteLine(Enum.Format(typeof(Days), 1, "D"));
        Console.WriteLine(Enum.Format(typeof(Days), 1, "F"));

    }
    enum Days
        {
            周一,
            周二,
            周三,
            周四,
            周五,
            周六,
            周日 
     
        }
     

     

     

  • 相关阅读:
    TensorFlow 一步一步实现卷积神经网络
    TensorFlow 卷积神经网络手写数字识别数据集介绍
    深度学习之激活函数
    使用Keras进行深度学习:(二)CNN讲解及实践
    计算智能(CI)之粒子群优化算法(PSO)(一)
    C# SqlBulkCopy
    Oracle 连接数据库
    C# DataTable转换为Html 用Html的方式预览DataTable的数据
    C# 中文判断
    C# Excel To DataTable
  • 原文地址:https://www.cnblogs.com/ljknlb/p/6419837.html
Copyright © 2011-2022 走看看