一周学会C#(枚举二)

原创 2004年01月12日 17:12:00

一周学会C#(枚举二)

C#才鸟(QQ:249178521

4.使用枚举<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

枚举隐式派生于System.Enum

namespace System

{

    public abstract class Enum ...

    {  

        // 静态函数

        public static string[] GetNames(Type);

        ...

        // 实例函数

        public override string ToString();

        // 构造函数

        protected Enum();

    }

}

Suit trumps = Suit.Clubs;

string[] names = System.Enum.GetNames(trumps.GetType());

...

Console.Write(names[0]);          // Clubs

Console.Write(trumps);            // Clubs

Console.Write("{0}", trumps);     // Clubs

Console.Write(trumps.ToString()); // Clubs

Console.Write((Suit)24);          // 24

System.EnumSystem命名空间的一个抽象类。它实现了一系列的接口:

              public abstract class Enum

              : IComparable, IFormattable, IConvertible

       {

               ...

      

枚举(例如Suit)隐式派生于System.Enum

System.Enum是一个特殊的类,它只能被用作一个枚举类型的隐含基类。

你不能自己从System.Enum显式派生自己的类。

你不能创造一个System.Enum的实例。(它的构造函数是protected,并且它是一个抽象类)。

5.枚举的操作符

·       枚举变量当作整型变量看待,但在大部分情况下不能使用移位操作符。

6.枚举的转换

·       隐式转换

w       0 可以转为任一 enum类型

w       从不抛出错误

·       显式转换

w       enum enum 通过内在类型转换

w       enum 转为数值类型(包括char)

w       从数值类型(包括char) 转为 enum

w       从不抛出错误

0可以被转为任一enum类型,不管enum类型包不包括0

如果你使用Console.WriteLine显视一个枚举值,它好像被隐式转换为一个字符串。但这是一种错觉,下面的例子说明了这一点:

                     enum Suit { Clubs, Diamonds, Hearts, Spades }

           Suit trumps = Suit.Clubs;

           Console.WriteLinetrumps;//显视为Clubs

                     string s = trumps;//错误,trumps不是字符串

Console.WriteLine完成的从enumstring 的类型转换是通过System.EnumIFormattable接口实现的。

一周学会Linux

什么是Linux 大部分人在日常使用中没有用过Linux,导致在一些人眼中觉得Linux很神秘,会Linux编程好牛逼,心中不由自主腾起一股敬仰之情~其实它没那么神秘,只是一个操作系统,和window...
  • everl_1
  • everl_1
  • 2016年08月30日 19:19
  • 195

一周学会Linux实战

为什么学习Linux? 1、Linux的性能卓越。 Linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到业界的认可,目前很多中型,大型甚至是巨型项目都在使用Linux。很多软...
  • ahuang1900
  • ahuang1900
  • 2014年07月26日 01:39
  • 579

C#枚举类型的常用操作总结

枚举类型是定义了一组“符号名称/值”配对。枚举类型是强类型的。每个枚举类型都是从system.Enum派生,又从system.ValueType派生,而system.ValueType又从system...
  • pengze0902
  • pengze0902
  • 2016年11月27日 19:45
  • 1104

C#中枚举类型的作用

C#中枚举类型的作用
  • syaguang2006
  • syaguang2006
  • 2014年04月24日 22:14
  • 1286

C# 枚举在项目中使用心得

阅读目录 基本介绍使用注意使用方法扩展用法     本文主要是我在项目中对C#枚举的使用心得,如有不足的地方欢迎您指出。 一、基本介绍 ...
  • jiangfei009003
  • jiangfei009003
  • 2016年09月14日 15:25
  • 3695

c#枚举 获取枚举键值对、描述等

using System; using System.Collections.Generic; using System.Collections.Specialized; using System.C...
  • smartsmile2012
  • smartsmile2012
  • 2016年09月29日 10:24
  • 3528

c#枚举值增加特性说明

通过特性给一个枚举类型每个值增加一个字符串说明,用于打印或显示。 自定义打印特性 [AttributeUsage(AttributeTargets.Field)] public class Enu...
  • jiangfei009003
  • jiangfei009003
  • 2017年05月12日 14:55
  • 342

C#中枚举的使用

C#枚举的使用 枚举的使用。 首先来看枚举是什么? 枚举类型是一种的值类型,它用于声明一组命名的常数。  一.声明: enum 枚举名 { 中间放入值. } 如: enum Student { 小...
  • meishengjie111
  • meishengjie111
  • 2017年10月18日 14:39
  • 386

C#中Enum枚举类型的简单使用

枚举类型的介绍:  枚举类型是由一组特定常量构成的一组数据结构,是值类型的一种特殊形式,当需要一个由指定常量集合组成的数据类型时,使用枚举类型。枚举声明可以显式地声明 byte、sbyte、shor...
  • sundacheng1989
  • sundacheng1989
  • 2013年05月22日 09:26
  • 18914

C#枚举类型、枚举类型与其他类型转换、结构类型、数组类型

1、 C#中的常量用constant标定,不能改变或赋值; 2、 枚举类型 [public ] enum 枚举名     // 访问标识符、枚举关键字、枚举名(符合Pascal命名规范) { 值1...
  • yanhuatangtang
  • yanhuatangtang
  • 2017年05月25日 16:08
  • 361
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一周学会C#(枚举二)
举报原因:
原因补充:

(最多只允许输入30个字)