日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
詳解C#枚舉與位枚舉

本篇文章為大家分享一下C# 枚舉與位枚舉,文中講解非常細(xì)致,幫助大家更好的理解和學(xué)習(xí)枚舉和位枚舉,感興趣的朋友可以了解下

創(chuàng)新互聯(lián)專(zhuān)注于安陽(yáng)縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城網(wǎng)站建設(shè)。安陽(yáng)縣網(wǎng)站建設(shè)公司,為安陽(yáng)縣等地區(qū)提供建站服務(wù)。全流程按需定制制作,專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)

一、枚舉的概念

C# 枚舉(Enum), 枚舉類(lèi)型是用于聲明一組命名的常數(shù)的基本數(shù)據(jù)類(lèi)型(值類(lèi)型);

二、枚舉的定義

聲明 enum 變量:

enum  {enumeration list};

其中 enum_name 指定枚舉的類(lèi)型名稱(chēng),enumeration list 是一個(gè)用逗號(hào)分隔的標(biāo)識(shí)符列表; 枚舉列表中的每個(gè)符號(hào)代表一個(gè)整數(shù)值,一個(gè)比他前面的符號(hào)大的整數(shù)值。默認(rèn)情況下,第一個(gè)枚舉符號(hào)的值是 0。例如:

enum Days {Sun , Mon, tue, Fir, sat };

三、枚舉的案例,枚舉變量的用法

實(shí)例

using System;
namespace EnumApplication
{
   class EnumProgram
   {
         enum Days { Sun, Mon, tue, Wed, thu, Fri, sat };
       
         static void Main(string[] args)
         {
               int WeekdayStart = (int)Days.Mon;
               int WeekdayEnd = (int)Days.Fir;
               Console.WriteLine("Monday:{0}",WeekdayStart);  
               Console.WriteLine("Firday:{0}",WeekdayEnd );  
               Console.ReadKey();
         }    
   }
}

四、Enum 類(lèi):

所有枚舉類(lèi)型都隱式地繼承 System.Enum 類(lèi)型, System.Enum 類(lèi)型是繼承自 System.ValueType 類(lèi)型唯一不為值類(lèi)型的引用類(lèi)型;

五、Enum 類(lèi)

方法 描述
CompareTo 將此實(shí)例與指定對(duì)象進(jìn)行比較并返回一個(gè)對(duì)二者的相對(duì)值的指示
Equals:指示此實(shí)例是否等于指定的對(duì)象;
Format 根據(jù)指定格式將指定枚舉類(lèi)型的指定值轉(zhuǎn)換為其等效的字符串表示形式
GetName 在指定枚舉中檢索具有指定值的常數(shù)的名稱(chēng)
GetNames 檢索指定枚舉中常數(shù)名稱(chēng)的數(shù)組
GetTypeCode 返回此實(shí)例的基礎(chǔ)TypeCode
GetUnderlyingTye 返回指定枚舉的基礎(chǔ)類(lèi)型
GetValues 指定枚舉中常數(shù)值的數(shù)組
HasFlag 確定當(dāng)前實(shí)例中是否設(shè)置了一個(gè)或多個(gè)位域
IsDefined 返回指定枚舉中是否存在具有指定值的常數(shù)的指示
Parse 將一個(gè)或多個(gè)枚舉常數(shù)的名稱(chēng)或數(shù)字值得字符串表示轉(zhuǎn)換成等效得枚舉對(duì)象,一個(gè)參數(shù)指定該操作是否不區(qū)分大小寫(xiě)
TryParse 將一個(gè)或多個(gè)枚舉常數(shù)得名稱(chēng)或數(shù)字值得字符串表示轉(zhuǎn)換成等效得枚舉對(duì)象,用于指示轉(zhuǎn)換是否成功得返回值

顯示詳細(xì)信息

六、標(biāo)志枚舉/位枚舉

C# 標(biāo)記枚舉(Flags):枚舉類(lèi)型是用于聲明一組命名得常數(shù)得基本類(lèi)型數(shù)據(jù)(值類(lèi)型)。

枚舉值是互斥得。而位標(biāo)記集合是一種由組合出現(xiàn)得元素形成得列表,通常設(shè)計(jì)為以”位或”運(yùn)算組合新值。

枚舉類(lèi)型則通常表達(dá)一種語(yǔ)義相對(duì)獨(dú)立得數(shù)值集合。而以枚舉類(lèi)型來(lái)實(shí)現(xiàn)位標(biāo)記集合是最完美得組合,簡(jiǎn)稱(chēng)位枚舉。

七、位枚舉得定義

///
  /// 權(quán)限枚舉
  ///
  [Flags]
  public enum permission                     注意加了[Flags]特性后有三種寫(xiě)法,
  {                                  一種是使用

八、位枚舉的實(shí)例

//1、給用戶(hù)創(chuàng)建、讀取,修改和刪除的權(quán)限
var parmission = Permission.Create | parmission.Read | parmission.Update | parmission.Delete;

//2、去掉用戶(hù)的修改和刪除權(quán)限
parmission = parmission &~parmission.Update;
parmission = parmission &~parmission.Delete;

//3、給用戶(hù)加上修改的權(quán)限
parmission = parmission | parmission.Update;

//4、判斷用戶(hù)是否有創(chuàng)建的權(quán)限
var isCreate = (parmission & parmission.Create)!=0;
//或者
var isCreate = (parmission & parmission.Create)==parmission.Create;
  這時(shí)parmission枚舉的值將變成0+1+4=5,它的ToSting()將變成“parmission.Create,
  parmission.Read”,parmission.Update; 這里我們可以解釋為什么第五個(gè)值Delete是8而不能成為5。
  也就是說(shuō)它的值不應(yīng)該是前幾項(xiàng)值的復(fù)合值。一個(gè)比較簡(jiǎn)單的方法
  就是用2的n次方來(lái)依次位每一項(xiàng)賦值,例如:1,2,4,8,16,32,64.......。

文章標(biāo)題:詳解C#枚舉與位枚舉
網(wǎng)頁(yè)地址:http://m.5511xx.com/article/dhjcsje.html