日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

集合在枚举数实例化后进行了修改_(编程知识)C# 枚举与位枚举

發布時間:2024/9/19 C# 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 集合在枚举数实例化后进行了修改_(编程知识)C# 枚举与位枚举 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、枚舉的概念:

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

二、枚舉的定義:

聲明 enum 變量: 

enum {enumeration list};

其中 enum_name 指定枚舉的類型名稱,enumeration list 是一個用逗號分隔的標識符列表;

枚舉列表中的每個符號代表一個整數值,一個比他前面的符號大的整數值。默認情況下,第一個枚舉符號的值是 0。例如:

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

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

實例

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 類:

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

五、Enum 類:

方法描述CompareTo將此實例與指定對象進行比較并返回一個對二者的相對值的指示Equals:指示此實例是否等于指定的對象;Format根據指定格式將指定枚舉類型的指定值轉換為其等效的字符串表示形式GetName在指定枚舉中檢索具有指定值的常數的名稱GetNames檢索指定枚舉中常數名稱的數組GetTypeCode返回此實例的基礎TypeCodeGetUnderlyingTye返回指定枚舉的基礎類型GetValues指定枚舉中常數值的數組HasFlag確定當前實例中是否設置了一個或多個位域IsDefined返回指定枚舉中是否存在具有指定值的常數的指示Parse將一個或多個枚舉常數的名稱或數字值得字符串表示轉換成等效得枚舉對象,一個參數指定該操作是否不區分大小寫TryParse將一個或多個枚舉常數得名稱或數字值得字符串表示轉換成等效得枚舉對象,用于指示轉換是否成功得返回值

六、標志枚舉/位枚舉

C# 標記枚舉(Flags):枚舉類型是用于聲明一組命名得常數得基本類型數據(值類型)。

枚舉值是互斥得。而位標記集合是一種由組合出現得元素形成得列表,通常設計為以"位或"運算組合新值。

枚舉類型則通常表達一種語義相對獨立得數值集合。而以枚舉類型來實現位標記集合是最完美得組合,簡稱位枚舉。

七、位枚舉得定義  

///  /// 權限枚舉  ///  [Flags]  public enum permission                     注意加了[Flags]特性后有三種寫法,  {                                  一種是使用<

八、位枚舉的實例

//1、給用戶創建、讀取,修改和刪除的權限var parmission = Permission.Create | parmission.Read | parmission.Update | parmission.Delete;//2、去掉用戶的修改和刪除權限parmission = parmission &~parmission.Update;parmission = parmission &~parmission.Delete;//3、給用戶加上修改的權限parmission = parmission | parmission.Update;//4、判斷用戶是否有創建的權限var isCreate = (parmission & parmission.Create)!=0;//或者var isCreate = (parmission & parmission.Create)==parmission.Create;  這時parmission枚舉的值將變成0+1+4=5,它的ToSting()將變成“parmission.Create,  parmission.Read”,parmission.Update; 這里我們可以解釋為什么第五個值Delete是8而不能成為5。  也就是說它的值不應該是前幾項值的復合值。一個比較簡單的方法  就是用2的n次方來依次位每一項賦值,例如:1,2,4,8,16,32,64.......。

總結

以上是生活随笔為你收集整理的集合在枚举数实例化后进行了修改_(编程知识)C# 枚举与位枚举的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。