2013年5月28日 星期二

[ASP.NET]用ConvertAll 泛型方法來進行Array或List轉型

今天無意間發現ConvertAll這個語法小技巧,覺得蠻實用的,研究了一下趕緊記錄下來,首先先來看看MSDN的解釋
image
簡單來講,這個語法可以將Array或者是List<object>來進行轉型,廢話不多說,以下寫了兩個簡單範例來分享
List<int> -> List<string>
此範例我們將一個INT List轉換成String List,在以往可能不會想很多就直接用foreach去丟,現在用此語法只要一行就可以解決,而TransTostring是用來進行轉換的function,如果有其他轉換需求,就可寫在此function裡面。
image
List<object> –> List<object>
來搞點複雜一點的,此範例我們用計算BMI值來Demo,首先先建一個BMI的class,裡面包含身高體重和BMI值,接著新增兩筆身高體重資料,再用ComvertAll去計算BMI值,我這邊直接把計算結果丟回原本的List,當然你也可以New一個List<double>來儲存資料,只要修改成new<Converter<BmiModel,double>即可,如此就不用迴圈去處理計算了,程式碼也比較簡潔一點。
image
執行結果,寫完文章才發現BMI值怪怪的,原來是我公式抄錯了,不管了那不是重點 囧
image
--
Reference
http://msdn.microsoft.com/zh-tw/library/73fe8cwf(v=vs.80).aspx

沒有留言:

張貼留言