教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> .NET类 >> ASP.NET >> 第十三章 枚举类型与位标记[《.net框架程序设计》读书笔记] RSS订阅
第十三章 枚举类型与位标记[《.net框架程序设计》读书笔记]
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
第十三章 枚举类型与位标记

一、 枚举类型

1、 使用枚举类型的理由:

l 枚举类型是得程序更容易编写、阅读、维护,在代码中使用符号名称代替数字是程序设计的一贯主张。

l 强类型的,便于类型检验

2、 注意事项:

l 枚举类型继承自System.Enum,System.Enum又继承自System.ValurType

l 枚举类型不能定义方法、属性、事件

l 枚举类型为常数而非只读字段,因此可能引入版本问题(见第八章的相关讨论)

l 将枚举类型与引用它的类型定义在同一层次上,可减少代码录入的工作量



3、 System.Enum中方法的应用:

l public static Type GetUnderlyingType(Type enumType);
获取用于保存枚举类型实例值得基础类型。声明某枚举类型使用的基础类型语法如下:
enum Human : byte
{
Male,
Female
}
则调用上述方法Enum.GetUnderlyingType(typeof(Human));将返回System.Byte;
l public override string ToString();
public string ToString(string); //参数为格式字符串
public static string Format(Type enumType,object value,string format);
//Value – 要转换的值,format – 格式字符串(G,g,X,x,D,d,F,f)
l public static Array GetValues(Type enumType);
获取枚举中常数值的数组
l public static string GetName(Type enumType,object value);
在指定枚举中检索具有指定值的常数的名称
l public static string[] GetNames(Type enumType);
检索指定枚举中常数名称的数组。
l public static object Parse(Type, string);
public static object Parse(Type, string, bool);
将一个或多个枚举常数的名称或数字值的字符串表示转换成等效的枚举对象
l public static bool IsDefined(Type enumType,object value);
返回指定枚举中是否存在具有指定值的常数的指示,value为常数的值或名称
l 系列ToObject方法
返回设置为指定值的、指定枚举类型的实例
二、 位标记

l 使用System.FlagsAttributes定制特性,使得ToString或Format方法可以查找枚举数值中的每个匹配符号,将它们连接为一个字符串,并用逗号分开;Parse方法可用该特性拆分字符串并得到复合的枚举类型

l 使用格式字符串F或f 也有同样的效果

下面的示例说明上述情况

using System;



[Flags] //定制特性

public enum Human : byte //定制基本类型

{

Male = 0x01,

Female = 0x10

}



public class EnumTest

{

public static void Main()

{

Human human = Human.Male | Human.Female; //人妖?



Console.WriteLine(human.ToString()); //使用Flags定制特性的情况

//Console.WriteLine(human.ToString("F")); //没有使用Flags定制特性的情况



Console.WriteLine(Enum.Format(typeof(Human), human, "G"));//使用Flags定制特性的情况

//Console.WriteLine(Enum.Format(typeof(Human), human, "F"));//没有使用Flags定制特性的情况



human = (Human)Enum.Parse(typeof(Human), "17");

Console.WriteLine(human.ToString()); //使用Flags定制特性的情况

//Console.WriteLine(human.ToString("F")); //没有使用Flags定制特性的情况

}

}



/*运行结果

Male, Female

Male, Female

Male, Female

*/

注:上述程序中的注释为不使用Flags特性时的语法


来源:upschool.com.cn
作者:
关键字:第十三章,枚举类型,位标记
发表日期:2005-12-23

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:第十二章 委托[《.net框架程序设计》读书笔记]   下一篇:第十五章 接口[《.net框架程序设计》读书笔记]


本文的相类似文章
  • 第十三章 Windows2000 Server的高级管理
  • DW MX第十三章:第三方插件的使用
  • 第十三章动物的行为第五节动物的节律行为
  • 第十三章动物的行为第一节研究动物行为的目的和方法
  • 第十三章动物的行为第二节动物的攻击行为和防御行为
  • 第十三章动物的行为第三节动物的贮食行为和繁殖行为
  • 第十三章动物的行为第四节动物的社群行为
  • 第十三章动物的行为 第六节动物行为的特点和生理基础
  • 第十三章 传染病
  • 高一物理第十三章分子动理论基础(人教版(实验本))
  • 网友评论 查看本文全部评论
    笔 名: *
    评 论:
    最多500字。当前字数:0
    联系方式:
    验证码:
    在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com