C#之枚举类型总结
来源:互联网 发布:js防水怎么样 编辑:程序博客网 时间:2024/05/16 05:55
一、enum位域[Flags]
[Flags]
public enum Week
{
//星期一
monday = 1 << 0,
//星期二
tuesday = 1 << 1,
//星期三
wednesday = 1 << 2,
//星期四
tursday = 1 << 3,
//星期五
friday = 1 << 4,
//星期六
saturday = 1 << 5,
//星期日
sunday = 1 << 6
}
[Flags]
public enum Week
{
//星期一
monday = 0x1,
//星期二
tuesday = 0x2,
//星期三
wednesday = 0x4,
//星期四
thursday = 0x8,
//星期五
friday = 0x10,
//星期六
saturday = 0x20,,
//星期日
sunday = 0x40
}
4、“^”:表示从两者的并集中去除两者的交集(把两个的元素合并到一起,如果两个中有公共元素,要将其除去)
5、“~”:表示取反
6、名称和下标的转换
Week weeks = Week.tuesday | Week.monday;
Debug.Log (Weeks );-->monday, tuesday
weeks = Week.monday & Weeks;
Debug.Log (Weeks );-->monday
weeks = weeks & Week.monday;
Debug.Log (weeks );-->monday
weeks = (Week.monday | Week.wednesday)^ (Week.tuesday | Week.monday);
Debug.Log (weeks );-->tuesday, wednesday
weeks = (Week.monday | Week.wednesday) ^ (Week.tuesday | Week.sunday);
Debug.Log (weeks );-->monday, tuesday, wednesday, sunday
week = Week.tuesday | Week.monday | Week.wednesday;
weeks = weeks &(~Week.monday);-->tuesday, wednesday
weeks = Week.tuesday | Week.monday;
Debug.Log ((int )weeks );-->3 tuesday, tursday
weeks = (Week )Enum.Parse (typeof(Week ),"10");
Debug.Log (weeks );--> tuesday, tursday
二、Enum、Int、String的相互转换
1、Enum-->String
(1)利用Object.ToString()方法:如Debug.Log (Week.tuesday.ToString ())的值是"tuesday"字符串;(2)利用Enum的静态方法GetName: public static string GetName(Type enumType,Object value) public static string[] GetNames(Type enumType) 例如:Debug.Log (Enum.GetName (typeof(Week), 2) );-->tuesday与Debug.Log (Enum.GetName (typeof(week), week.tuesday) );-->tuesday
2、String-->Enum
(1)利用Enum的静态方法Parse: public static Object Parse(Type enumType,string value) 例如:weeks = (Week )Enum.Parse (typeof(Week ),"10");
Debug.Log (weeks );--> tuesday, tursday
3、Enum-->Int
(1)因为枚举的基类型是除 Char 外的整型,所以可以进行强制转换。 例如:(int)Week.monday , (byte)Week.monday
Debug.Log(Week.monday.ToString("D" ));
(2)遍历枚举
Type weekType = typeof (Week);Array arrays = Enum.GetValues(weekType); for (int i = 0; i <arrays.LongLength ; i++) Debug.Log((int)arrays.GetValue(i) );
4、Int-->Enum
(1)可以强制转换将整型转换成枚举类型。 例如:Week weeks= (Week)2; -->weeks=tuesday;(2)利用Enum的静态方法ToObject。 public static Object ToObject(Type enumType,int value) 例如:Week weeks = (Week)Enum.ToObject(typeof(Week), 2),那么weeks即为Week.tuesday
(3)遍历枚举
foreach (Week typeWeek in Enum.GetValues(typeof (Week)))
{
Debug.Log(typeWeek );
}
5、判断某个整型是否定义在枚举中的方法:Enum.IsDefined
public static bool IsDefined(Type enumType,Object value)例如:Enum.IsDefined(typeof(Week), n))
- C#之枚举类型总结
- C# Enum枚举类型使用总结
- C#中枚举类型的使用总结
- C#枚举类型的常用操作总结
- C#枚举类型的常用操作总结
- C#枚举类型的常用操作总结
- C#枚举类型 标志枚举
- C#枚举类型研究
- C#枚举类型enum
- C#枚举类型enum
- C#枚举类型enum
- C#枚举类型
- c#枚举类型
- C#枚举类型
- c# 枚举 enum 类型
- C#枚举类型解析
- c#枚举类型
- C#枚举类型
- 获取json数据
- 图片轮播jquery , 支持html5 , 滑动手势, 屏幕大小自适配 , 横排 竖排图片自适应, 竖排图片居中显示
- c++四种类型转换方式
- 线程--(1)ThreadLocal简单使用
- <需要补充学习的资料>: AVL tree , Tire tree(前缀树(prefix tree),后缀树(suffix tree)),radix tree, aho-corasick
- C#之枚举类型总结
- POJ 3461 Oulipo(KMP统计子串出现次数)
- 【数据】Marvell 88W8686 WiFi模块的固件数据
- [霍尔定理]「2017 山东一轮集训 Day2」LOJ 6062——PAIR
- 如何利用github打造博客专属域名
- scala基础总结
- 到银联的调试过程,总结,记录
- 应届生求职指南(一)- 序言
- iOS WKWebView 与 js 交互