有这样的一个枚举定义:
[Flags]public enum CarOptions
{
SunRoof = 0x01,
Spoiler = 0x02,
FogLights = 0x04,
TintedWindows = 0x08,
}public static void Main()
{
CarOptions options = CarOptions.SunRoof | CarOptions.FogLights;
Console.WriteLine(options);
Console.WriteLine((int)options);
}
当 CarOptions options = CarOptions.SunRoof | CarOptions.FogLights; 的时候,我可以通过什么方法取得 options 包含了哪些值呢,意思就是 options 返回 CarOptions.SunRoof 和 CarOptions.FogLights 这两个值。
[Flags]public enum CarOptions
{
SunRoof = 0x01,
Spoiler = 0x02,
FogLights = 0x04,
TintedWindows = 0x08,
}public static void Main()
{
CarOptions options = CarOptions.SunRoof | CarOptions.FogLights;
Console.WriteLine(options);
Console.WriteLine((int)options);
}
当 CarOptions options = CarOptions.SunRoof | CarOptions.FogLights; 的时候,我可以通过什么方法取得 options 包含了哪些值呢,意思就是 options 返回 CarOptions.SunRoof 和 CarOptions.FogLights 这两个值。
解决方案 »
- byte[]、string转换成10进制
- 关于扩展DataGridView的构造函数之IContainer参数
- 关于 显示 “状态栏“的问题 winform
- (急)关于本地文件浏览路径的问题.(C#)
- c#如何进行并口通信 怎样向并口送数据和接收返回信息 有人知道么
- C#初学者 我的MessageBox.Show怎么不能用呢?急急急急
- 关于C#开发IE工具条的疑问
- 在TCP Socket中使用Send发送数据一次后,并没有调用过Close就失去连接。50分,解决后马上结贴。
- NET WebBrowser 模拟点击时页面出现多个相同ID的超链接
- 大家说高中毕业自学的c#程序员有可能找到工作吗?
- 一个窗体继承产生的问题!
- 一段简单的代码,编译的时候出错,请专家出手相救
就可以得到"SunRoof,FogLights"
{
ArrayList al = new ArrayList();
if ((options & CarOptions.SunRoof) == CarOptions.SunRoof)
al.add( CarOptions.SunRoof ); if ((options & CarOptions.Spoiler) == CarOptions.Spoiler)
al.add( CarOptions.Spoiler); if ((options & CarOptions.FogLights) == CarOptions.FogLights)
al.add( CarOptions.FogLights); if ((options & CarOptions.TintedWindows) == CarOptions.TintedWindows)
al.add( CarOptions.TintedWindows); return al;
}
{
if ((options & (CarOptions)i) == (CarOptions)i)
al.add( (CarOptions)i);
}
//代码没测试过
//MSDN能解决很多问题的 :D
{
if ((options & i) == i)
al.add(i);
}
string[] optionStr = options.ToString().Split(',');
CarOptions[] co = new CarOptions[optionStr.Length];for(int i = 0;i < optionStr.Length;i++)
{
co[i] = (CarOptions)Enum.Parse(typeof(CarOptions),optionStr[i]);
}