2013年2月21日 星期四

enum 學習心得


字串 => enum : ([enum名稱])Enum.Parse(typeof([enum名稱]), "[字串]", true);

值 => enum : ([enum名稱])Enum.ToObject(typeof([enum名稱]), [值]);

enum => 值 : Convert.ToInt32([enum])

enum => 字串 : [enum].ToString()

值 => 字串 : (([enum名稱]) [值]).ToString()

加入描述屬性產生對應集合
enum 規格 { [Description("<90cm")] _89cm = 1, [Description("90~120cm")] _90120cm, [Description(">120cm")] _121cm }
var list = Enum.GetValues(typeof(規格)).Cast<規格>().Select(a => new { value = (int)a, text = a.GetAttributeOfType<DescriptionAttribute>()?.Description ?? a.ToString() }).ToList();

列出每週日、一、...
Enum.GetValues(typeof(DayOfWeek)).Cast<DayOfWeek>().Select(a => new { value = (int)a, text = new CultureInfo("zh-tw").DateTimeFormat.GetShortestDayName(a) }).ToList();

沒有留言:

input 連結 datalist 用程式控制彈出選項

範例: nextTick(() => document.querySelector('input').showPicker());  ※僅支援現代瀏覽器