您好,登錄后才能下訂單哦!
本篇內容介紹了“C#與C++枚舉的區別是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
枚舉類型中的每個元素,可以直接使用,不必通過類型.元素的方式調用
沒有++操作
#include <iostream> using namespace std; enum week{Monday,Thuesday}; int main() { week day; day = Monday; day = Thuesday; //day = 4; 報錯 類型轉化出錯 //day++; 出錯,沒有++ 操作 cout << day << endl;//輸出結果為1 return 0; }
枚舉類型中的每個元素必須通過類型.元素的形式調用
可以++操作
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace myEnum_Structure { enum Week { Monday, Thuesday, Wednesday, Thursday, Friday, Saturday, Sunday } class Program { static void Main(string[] args) { Week day; day = Week.Sunday; Console.WriteLine(day);//輸出Sunday day++; Console.WriteLine(day);//輸出7 } } }
public enum NoticeType { Notice = 'A', LabRule = 'H', HotInformation = 'N', Column = 'C', All = '1', Null = '0' } private void button1_Click(object sender, EventArgs e) { //新建枚舉類型 NoticeType noticeType1 = NoticeType.Column; //把枚舉類型轉換為string d="Column" string d = noticeType1.ToString(); //取得枚舉類型的基數 'C' char dd = (char)noticeType1; //通過基數取得對應的枚舉類型 NoticeType noticeType2 = (NoticeType)Char.Parse("A");//Notice //通過名稱取得枚舉類型 NoticeType noticeType3 = (NoticeType)Enum.Parse(typeof(NoticeType), "Notice"); }
[Description("會員等級")] enum MemberLevel { [Description("金牌會員")] gold = 1, [Description("銀牌會員")] silver = 2, [Description("銅牌會員")] copper = 3 } /// <summary> /// /// </summary> /// <param name="value">枚舉值</param> /// <param name="isTop">是否是頂級標題的描述信息</param> /// <returns></returns> public static string GetDescription(this Enum value, bool isTop = false) { Type enumType = value.GetType(); DescriptionAttribute attr = null; if (isTop) { attr = (DescriptionAttribute)Attribute.GetCustomAttribute(enumType, typeof(DescriptionAttribute)); } else { // 獲取枚舉常數名稱。 string name = Enum.GetName(enumType, value); if (name != null) { // 獲取枚舉字段。 FieldInfo fieldInfo = enumType.GetField(name); if (fieldInfo != null) { // 獲取描述的屬性。 attr = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) as DescriptionAttribute; } } } if (attr != null && !string.IsNullOrEmpty(attr.Description)) return attr.Description; else return string.Empty; }
調用
MemberLevel gold = MemberLevel.gold; Console.WriteLine(gold.GetDescription()); System.Console.Read();
“C#與C++枚舉的區別是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。