枚舉很有用, 總結一下它的兩個重要操作和用途, 如下:
1.字串轉為Enum類型:
2.枚舉作為標誌
參考代碼:
public enum MaleRoleEnum { Male=1, Husband=2, Father=3, Sun=4, Manager=5 }
class Program
{
static void Main(string[] args)
{
MaleRoleEnum lzd = MaleRoleEnum.Male | MaleRoleEnum.Father;
Console.WriteLine((int)lzd);
Console.WriteLine(Enum.IsDefined(typeof(MaleRoleEnum), "Malse"));
MaleRoleEnum mre = (MaleRoleEnum)Enum.Parse(typeof(MaleRoleEnum), "Mals"); //will throw Exception: Requested value 'Mals' was not found.
Console.WriteLine(mre);
MaleRoleEnum mre1;
if (Enum.TryParse<MaleRoleEnum>("Males", out mre1)) //使用Ref的時候必須要先賦值,而out並不需要。
{
Console.WriteLine(mre1);
}
else
{
Console.WriteLine("轉換失敗");
} }
}
啟示1:
用Enum.Parse或Enum.TryParse方法, 用Parse時如果用未定義的枚舉值轉換則會報異常, 所以, 如果不用TryParse就要用trycatch捕捉異常;
啟示2:
因為某些枚舉可以重複復合, 可以用&位與和|位或.
推薦資料: C#基礎:ref和out的區別
http://www.cnblogs.com/gjahead/archive/2008/02/28/1084871.html
在C#中,方法的參數傳遞有四種類型:傳值(by value),傳址(by reference),輸出參數(by output),數組參數(by array)。傳值參數無需額外的修飾符,傳址參數需要修飾符ref,輸出參數需要修飾符out,數組參數需要修飾符params。
位元運算的效率及應用
http://space.flash8.net/space/?18713/viewspace-352330.html