亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C#與C++枚舉的區別是什么

發布時間:2022-04-26 10:43:00 來源:億速云 閱讀:130 作者:iii 欄目:開發技術

本篇內容介紹了“C#與C++枚舉的區別是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

C++與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;
}

二、C#

  • 枚舉類型中的每個元素必須通過類型.元素的形式調用

  • 可以++操作

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
        }
    }
}

C#枚舉案例

一、普通調用

        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++枚舉的區別是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

疏勒县| 大关县| 梨树县| 宜春市| 莲花县| 桑植县| 界首市| 右玉县| 柯坪县| 广丰县| 化隆| 张家界市| 锦屏县| 介休市| 淄博市| 林芝县| 五常市| 章丘市| 通道| 开鲁县| 凤山县| 靖远县| 简阳市| 灵台县| 玛沁县| 沂南县| 通山县| 乌兰县| 大邑县| 同心县| 察哈| 兴海县| 云阳县| 大余县| 建阳市| 临海市| 鄂托克旗| 藁城市| 阳江市| 嘉兴市| 页游|