Rubyのdelete_ifみたいに
データがArrayの時に不要なデータ消したいなぁ〜なんて思ったら、
rubyのreject!とかdelete_ifとかmapとかの感覚でやりたいものです。
そんなときは、Listにコレクションを渡して変換した後、
delegate使って、比較する無名関数を作り、フィルタしてやればいいです。
1 using System; 2 using System.Collections.Generic; 3 4 namespace PatternResearch01 5 { 6 class Program 7 { 8 static void Main(string args) 9 { 10 int values = new int[]{0,1,2,3,4,5}; 11 12 // Transform array -> list 13 List<int> lvalues = new List<int>(values); 14 // Remove optional value such as delete_if( by Ruby ) 15 lvalues.RemoveAll(new Predicate<int>(delegate(int v) { return v == 0; })); 16 // Show Elements of List 17 foreach (int i in lvalues) 18 Console.WriteLine("value = {0}", i); 19 } 20 } 21 }