C# 枚举类使用
作者:网络转载 发布时间:[ 2013/8/6 10:49:57 ] 推荐标签:
那么被赋值的成员的值是你所指定的值。当然,无论你是否手动指定枚举成员的值,递增步长都不会变,总是为1。为了测试你是否理解,请说出下面枚举个成员的值以及你的判断理由(请用人脑而不是电脑来运行以下代码):
publicenumDriveType:sbyte
{
CDRom,
Fixed=-2,
Network,
NoRootDirectory=-1,
Ram,
Removable=Network*NoRootDirectory,
Unknown
}
publicenumCustomerKind
{
Normal=90,
Vip=80,
SuperVip=70,
InActive=100
}
publicclassCustomer
{
publicreadonlyCustomerKindKind;
privatedoublem_Payment;
publicdoublePayment
{
returnm_Payment*(int)Kind/100;
}
为枚举CustomerKind的每个成员都赋了一个特定的值,该值其实是顾客购物折扣百分率。而在Customer类中,Payment属性通过强类型转换来获取枚举成员的值(也是购物折扣率),并用于货款计算。从这里可以看出,获取枚举成员的值还可以通过强类型转换方式。
// Code here
}
枚举类型可以强制转换为整数,整数也可以强制转换为枚举类型
Alignment a = (Alignment)1;但这种机制可能使你遇到一些麻烦
public static bool IsAlignment(Alignment a)
{
switch(a)
{
case Alignment.Left:
case Alignment.Center:
case Alignment.Right:
return true;
default:
return false;
}
}
枚举类型转换(解析)成字符串类型
简单的方法是使用System.Enum的public override string ToString(); 或者把枚举类型转换为IConvertible接口,再调用该接口的string ToString(IFormatProvider provider);
static void Main()
{
Alignment a = Alignment.Right;
Console.WriteLine("Alignment is {0}.", a.ToString());
FontStyle fs = FontStyle.Bold | FontStyle.Underline;
Console.WriteLine("FontStyle is {0}.", fs.ToString());
}
手动指定格式参数:Console.WriteLine("Alignment is {0}.", a.ToString("d"));
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11