C#枚举类型研究

原创 2005年05月24日 21:49:00

测试代码:
---------------------------------------------------------------------------------------------------   
#region 常用方法
Console.WriteLine("");
Console.WriteLine("枚举类型常用方法");
Console.WriteLine("==================");

//确定枚举的底层类型
Console.WriteLine("GetUnderlyingType:"+Enum.GetUnderlyingType(typeof(SqlDbType)));

//检测是否支持特定值
Console.WriteLine("IsDefined:"+Enum.IsDefined(typeof(SqlDbType),"VarChar"));

//显示全部枚举值
SqlDbType[] ss =(SqlDbType[])Enum.GetValues(typeof(SqlDbType));
Console.WriteLine("Number of symbols defined: " + ss.Length);
foreach (SqlDbType tt in ss)
{
 Console.WriteLine("{0}={1}",tt,tt.ToString("X"));
}
#endregion

#region 相互转换
Console.WriteLine("");
Console.WriteLine("各种类型相互转换");
Console.WriteLine("==================");

SqlDbType s = SqlDbType.VarChar;

//枚举->String
//通用格式
Console.WriteLine("枚举->String:"+s.ToString());//或s.ToString("G")
//十进制格式
Console.WriteLine("枚举->String值(十进制格式):"+s.ToString("D"));
//十六进制格式
Console.WriteLine("枚举->String值(十六进制格式):"+s.ToString("X"));

//枚举->值
Console.WriteLine("枚举->值:"+(int)s);

//String->枚举
Console.WriteLine("String->枚举:"+(SqlDbType)Enum.Parse(typeof(SqlDbType),"VarChar",true));
//对于位标志枚举类型还可以求用逗号隔开的字符串对应的枚举值

//值->枚举
Console.WriteLine("值->枚举:"+(SqlDbType)2);

//将数值传为对应的枚举值字符串
Console.WriteLine("将数值转为对应的枚举值字符串:"+Enum.Format(typeof(SqlDbType),2,"G"));
//或Enum.GetName(typeof(SqlDbType),2)
#endregion

#region 位标志枚举类型运算   
Console.WriteLine("");
Console.WriteLine("位标志枚举类型运算");
Console.WriteLine("==================");
//判断是否含某一枚举值
String file = @"C:/CONFIG.SYS";
FileAttributes att = File.GetAttributes(file);
Console.WriteLine("Is {0} hidden? {1}",file,(att&FileAttributes.Hidden)!=0);
//设置为含两个枚举值
File.SetAttributes(file,FileAttributes.ReadOnly|FileAttributes.Hidden);
att = File.GetAttributes(file);
//含两个枚举值的变量->字体串
//enum定义时含[Flags]
Console.WriteLine("含两个枚举值的变量->字体串(enum定义时含[Flags]):"+att.ToString());
//enum定义时不含[Flags]
Console.WriteLine("含两个枚举值的变量->字体串(enum定义时不含[Flags]):"+att.ToString("F"));
#endregion

运行结果:
---------------------------------------------------------------------------------------------------   

枚举类型常用方法
==================
GetUnderlyingType:System.Int32
IsDefined:True
Number of symbols defined: 24
BigInt=00000000
Binary=00000001
Bit=00000002
Char=00000003
DateTime=00000004
Decimal=00000005
Float=00000006
Image=00000007
Int=00000008
Money=00000009
NChar=0000000A
NText=0000000B
NVarChar=0000000C
Real=0000000D
UniqueIdentifier=0000000E
SmallDateTime=0000000F
SmallInt=00000010
SmallMoney=00000011
Text=00000012
Timestamp=00000013
TinyInt=00000014
VarBinary=00000015
VarChar=00000016
Variant=00000017

各种类型相互转换
==================
枚举->String:VarChar
枚举->String值(十进制格式):22
枚举->String值(十六进制格式):00000016
枚举->值:22
String->枚举:VarChar
值->枚举:Bit
将数值转为对应的枚举值字符串:Bit

位标志枚举类型运算
==================
Is C:/CONFIG.SYS hidden? True
含两个枚举值的变量->字体串(enum定义时含[Flags]):ReadOnly, Hidden
含两个枚举值的变量->字体串(enum定义时不含[Flags]):ReadOnly, Hidden

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

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

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

枚举类型是定义了一组“符号名称/值”配对。枚举类型是强类型的。每个枚举类型都是从system.Enum派生,又从system.ValueType派生,而system.ValueType又从system...

C# Enum枚举类型使用总结

C# Enum枚举类型使用总结
  • sqlove
  • sqlove
  • 2011年05月26日 16:45
  • 1075

C#枚举类型绑定下拉列表框

//======================================================================   // 版权所有:Copyright (C) 2...

C#_delegate - Pair<T> & 简单顺序逆序 & 方法委托(在Pair类下)&枚举类型 混搭使用

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T...

unity3D-游戏/AR/VR在线就业班 C#入门枚举类型学习笔记

unity3D-游戏/AR/VR在线就业班 C#入门枚举类型学习笔记

C#枚举类型解析

枚举是开发者可以定义的一个类型。枚举的关键特征是它标识了一个在编译时定义的所有可能值得集合,每个值都由一个名称来引用,这就使得代码更加的易读。我们采用与类相似的语法来定义一个枚举(枚举类型的声明必须跟...

c#枚举类型在web控件CheckBoxList,RadioButtonList,DropDownList中的应用

在做web项目的时候经常使用CheckBoxList,RadioButtonList,DropDownList控件,对于这些控件的数据源如果需要客户动态维护的一般存于数据库中,但是大量的这些控件的数据...

【C#】变量的定义,值、引用以及枚举类型详解说明

【变量的基本概念】 变量本身被用来存储在内存中的特定类型的数据,可以根据需要随时改变变量中所存储的数据值。 变量具有名称、类型和值。 变量名是变量在程序源代码中的标识。 变量类型确定它所代表的...
  • YunPro
  • YunPro
  • 2015年03月01日 16:25
  • 1107
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#枚举类型研究
举报原因:
原因补充:

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