C# for Unity快速入门(连载14)_C#枚举类型

C# for Unity编程语言快速入门教程(连载14)_C#枚举类型



C#的枚举类型(用 “enum”关键字标识),按照笔者理解本质上是一个隐式继承了System.Enum的整形类。枚举类型的主要作用是:为了更好的识别一个变量的具体含义,且固定变量的使用“范围”。

例如:形如如下定义

public enum Week
{
  Monday,
  Tuesday,
  Wenesday,
  Thursday,
  Friday,
  Saterday,
  Sunday
 }
    
  如果我们没有枚举类型,如何准确表示一个“星期”的概念呢,估计可以用int 或者string 来表示,
但是这种表示,很容易写错以及“越界”。所以枚举类型通常表示哪些必须在一定有限范围内,且有
明确意义的定义。

以下给出部分演示代码,供大家学习参考:


public enum Week
    {
        Monday = 1,
        Tuesday,
        Wenesday,
        abc,
        Thursday,
        Friday,
        Saterday,
        Sunday
    }

class Program
    {
        public void Test1()
        {
            Week w = Week.Tuesday;
            Console.WriteLine(w);

switch (w)
            {
                case Week.Monday:
                    Console.WriteLine("周一");
                    break;
                case Week.Tuesday:
                    Console.WriteLine("周二");
                    break;
                case Week.Wenesday:
                    Console.WriteLine("周三");
                    break;
                case Week.Thursday:
                    break;
                case Week.Friday:
                    break;
                case Week.Saterday:
                    break;
                case Week.Sunday:
                    break;
                default:
                    break;
            }

}

/// <summary>
        /// 枚举转数值
        /// </summary>
        public void Test2()
        {
            Week w = Week.Sunday;
            Console.WriteLine(Convert.ToInt32(w));//输出枚举的“代号”
        }

static void Main(string[] args)
        {
            Program obj = new Program();
            obj.Test2();
        }
    }



时间: 2024-10-11 01:12:27

C# for Unity快速入门(连载14)_C#枚举类型的相关文章

C#forUnity快速入门(连载15)_C#委托与事件

C# for Unity编程语言快速入门教程(连载15)_C#委托与事件 C#的委托(delegate)与事件(event)  其实不是一个容易理解的技术,而且很多C#书籍作者还经常把它与"观察者设计模式"(Observer模式)放在一起进行讨论(注:因为委托与事件是"Observer"设计模式的一种很好的实现方式),其实这就进一步增加了对于C#初学者的学习难度. 所以笔者打破常规,先从讲故事的方式,先来介绍"委托". 案例故事:"老板

C#forUnity快速入门(连载11)-C#的属性

C# for Unity编程语言快速入门教程(连载11)_C#的属性    C#的"属性"是一种类字段的约束控制手段,其直接目的就是控制字段的输入合法性,以及实现对字段的快速访问. 目的:     引入属性概念是为了更合理的控制对字段的可访问性.    规则1: 属性是方法的简化版,主要是用于对字段的控制.规则2: 属性本质就是Set 与Get 方法的简化.规则3: 属性可以写成只读属性.只写属性.规则4: 属性中如果不需要对字段做控制处理,可以简化写法. 因为这个概念相对比较简单,所

C#forUnity快速入门(连载12)-C#的字符串

C# for Unity编程语言快速入门教程(连载12)_C#的字符串 "C#字符串"是一个重要的知识点,对于C#初学者来说有很多重要知识点需要进行学习,总体归纳有三个大的方面: 知识点一:  字符串的常用方法与属性 属性:     Length:           得到字符串的长度   方法:    IsNullOrEmpty()   表示空字符串: IndexOf()  :           查找指定字符(子字符串). SubString():          字符串截取(得

C#forUnity快速入门(连载13)-C#结构体

C# for Unity编程语言快速入门教程(连载13)_C#结构体 C#的"结构体"使用Struct 关键字来定义,是与"类"."接口"并列的编程单位.其设计的主要目的是自定义"值类型",即允许用户自定义值类型. 适用范围:   结构适合一些小型的数据结构,这些结构包含的数据以创建后不修改的数据为主.也适合数据打包,一次性定义多个变量. 结构体的限制很多.1> 除非字段声明为const .static,否则无法初始化.

AngularJS快速入门指南14:数据验证

thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table.reference>thead>tr>td, table.reference>tbody>tr>td, table.reference>tfoot>tr>td { padding: 8px; line-height: 1.42857143; vertic

C++快速入门、变量、基本类型

整理看书过程中要注意的点 1.每个函数都必须指定返回类型,main函数的返回类型为int,通常return 0;,return 语句后面要增加":" 2.C++文件后缀:cc,cpp,cxx,cp,c,visual C++认 *.cpp 3.输入输出使用iostream库,用cin, cout, cerr, clog,这些都包含在std  namespace中 若在文件的开头没有写using namespace std,则用的时候应该是std :: cin 4.建立Visual C++

5月14日 枚举类型

namespace _5月14日_枚举类型 { class Program { enum meiju//不规定值类型的时候默认为int { one=3,//不是赋值,是指向索引,3号索引是one的索引位置 two=6,//6号索引是two这个常量 three,//每行用逗号隔开,最后的逗号可以省略 four = two//若一个常量等于之前的一个常量,那么就等于这个常量,这里是赋值 } enum meiju1 { one=1, two=2, three, four=three, } static

Unity快速入门

1.熟悉基本操作. 最权威的应该是官方出品,158元的Unity官方教程,其他的基础操作视频 lynda 的5.0 ,5.4都可以 2.熟悉简单例子,将API熟悉一下啊,这个过程中,背诵API是捷径. 2.1 飞机 2.2 三消 2.3 卡牌 2.4 官方其他例子 2.5 小小三国 2.6 小冰冰传奇 2.7 阴阳师 2.8 ARPG 3.聚焦,暂时放弃美术,后端的学习,专心前端开发,直到学会引擎,shader ======================================== 强

[易学易懂系列|rustlang语言|零基础|快速入门|(14)]

有意思的基础知识 Impls & Traits实现与特征 我之前说到的struct结构体,其实就类似于面向对象语言中的类class. 但这个struct,并没有定义方法或函数. 那要怎么办呢? Rust用关键词impls(实现)来定义struct和enum的方法或函数. 而trait(特征),类似于面向对象语言中的接口interface. 特征,是用来定义要实现的方法,一个类型可以有多个特征.特征可以有默认实现函数,这个默认函数可以在运行时重写. 我们来看看代码: 1.没有trait特征的imp