2010年1月31日日曜日

[C#] List.ConvertAll

C# 3.0以上で出来ます。(VBでも出来るはず)

Listの値をCSV文字列に変換出来ます。

  1. //List<int>をカンマ区切りの文字列に変換する  
  2. List<int> lst = new List<int> { 1, 3, 5, 7 };  
  3.   
  4. string csv =  
  5. string.Join(",", lst.ConvertAll<string>(  
  6. delegate(int value) { return value.ToString(); }).ToArray());  
  7.   
  8.   
  9. //カンマ区切りの文字列をList<int>に変換する  
  10. lst = csv.Split(',').ToList<string>().ConvertAll<int>(  
  11. delegate(string value) { return int.Parse(value); });  
  12.   
  13. </int></string></int></string></int></int></int>  


1行で書くことが良いかは別として出来るんですね。
# 勝手にHTMLタグが書き込まれて消せない。。。