乙個最簡單的列舉類
public enum ***
male=0,然而使用或繫結時需要中文,解決辦法有以下幾種:female=1
1.public enum ***
男人=0,2.(參考他人)女人=1
public enum ***enum:int
private string get***enumcnname(***enum ***)
; return snames[(int)***];
}3.直接在用的時候寫個switch方法
但個人感覺都不是很好,所以結合網上資料,寫了個撲克花色的自定義列舉類:
//public enum enumcardmark
//public class enumcardmark
}private string _enum_name;
public string enum_name
}private enumcardmark(int value, string name)
public static readonly enumcardmark nomark = new enumcardmark(0, string.empty);
public static readonly enumcardmark heart = new enumcardmark(1, "紅桃");
public static readonly enumcardmark diamond = new enumcardmark(2, "方塊");
public static readonly enumcardmark spade = new enumcardmark(3, "黑桃");
public static readonly enumcardmark clubs = new enumcardmark(4, "草花");
public static listenumcardmarklist = new list;
public static explicit operator enumcardmark(int value)
}public static explicit operator int(enumcardmark value)
public enumcardmark copy()
}這樣用起來的時候非常方便,要繫結到combobox或dropdownlist等控制項的時候直接繫結到list,也實現了列舉的型別轉換,並且多了中文屬性。個人還是比較傾向這種寫法的。
只是要注意的是.net 自帶的列舉是值型別而這時是引用,不過使用起來沒影響,因為這個類內屬性不能被賦值。
自定義列舉
在效能優化中,列舉的每乙個都是乙個例項,比較耗記憶體,採用自定義註解能很好的解決這個問題 public class shape 表示表示需要在什麼級別儲存該注釋資訊,用於描述註解的生命週期 retention retentionpolicy.runtime public inte ce model ...
C 如何實現自定義類
pragma once include include using namespace std class csvitem csvitem const csvitem item void operator const csvitem item public string lock time 作業上鎖...
C 實現自定義string類
在一些c 筆試題裡,會有這樣一道題,那就是讓你自己實現乙個簡單的string類。自己在面試的時候就遇到過這個題。在這裡說一下自己是怎麼做的。主要包含一些基本的操作,建構函式 拷貝建構函式和析構函式。pragma once include using namespace std class mystr...