第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

本地定義的枚舉標(biāo)志和枚舉定義的標(biāo)志有什么區(qū)別?

本地定義的枚舉標(biāo)志和枚舉定義的標(biāo)志有什么區(qū)別?

C#
米脂 2023-07-09 10:23:04
我正在使用枚舉,當(dāng)我遇到枚舉的 [Flags] 時,我正在尋找一種將一系列枚舉值分組到不同組的方法。我注意到 ms-Docs 上的示例正在打印本地聲明的枚舉按位范圍的數(shù)組(作為枚舉名稱),但當(dāng)我在枚舉本身中聲明相同的范圍時卻沒有。我已經(jīng)測試過Enum.HasFlag(),它執(zhí)行相同的計(jì)算,但它不會以相同的方式打印它。我已經(jīng)找到了很多標(biāo)志迭代器的解決方案,但似乎該功能已經(jīng)存在于本地聲明的變量中。枚舉聲明值和本地聲明的枚舉有什么區(qū)別?[Flags] public enum DinnerItems{        None = 0,        Entree = 1,        Appetizer = 2,        Side = 4,        Dessert = 8,        Beverage = 16,        BarBeverage = 32,        MyOrder = Appetizer | Entree | Beverage | Dessert,} DinnerItems flagValue = DinnerItems.None | DinnerItems.Side;            DinnerItems myOrder = DinnerItems.Appetizer | DinnerItems.Entree |                                 DinnerItems.Beverage | DinnerItems.Dessert;            Console.WriteLine("{0} includes {1}: {2}",                            myOrder, flagValue, myOrder.HasFlag(flagValue));這將打印:MyOrder 包括 Side:False從枚舉中刪除 DiningItems.MyOrder 時的代碼相同:主菜、開胃菜、甜點(diǎn)、飲料包括配菜:False
查看完整描述

1 回答

?
收到一只叮咚

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個贊

根據(jù)文檔:

返回值使用通用格式說明符(“G”)進(jìn)行格式化。也就是說,如果 FlagsAttribute 未應(yīng)用于此枚舉類型并且存在等于此實(shí)例的值的命名常量,則返回值是包含常量名稱的字符串。如果應(yīng)用 FlagsAttribute 并且存在一個或多個等于此實(shí)例的值的命名常量的組合,則返回值是一個字符串,其中包含以分隔符分隔的常量名稱列表。

如果沒有MyOrder,它就會執(zhí)行分隔符分隔的名稱列表 - 這似乎就是您想要的。

但是,?MyOrder現(xiàn)在MyOrder是一個或多個命名常量(一個常量 vs 四個常量)的最簡單組合 - 所以它會輸出MyOrder。


查看完整回答
反對 回復(fù) 2023-07-09
  • 1 回答
  • 0 關(guān)注
  • 119 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號