foreach ラムダ式
以下の2つは等価
Array.ForEach( Path.GetInvalidFileNameChars(), c => fileName = fileName.Replace( c.ToString(), "" ) );
foreach ( var c in Path.GetInvalidFileNameChars() ) { fileName = fileName.Replace( c.ToString(), "" ); }
後者のほうがわかりやすいとは思うんだけど。
でも本当は
Path.GetInvalidFileNameChars().ForEach( c => fileName = fileName.Replace( c.ToString(), "" ) ); class static Extentions { static public void ForEach<T>( this T[] array, Action<T> action ) { Array.ForEach( array, action ); } }
こうじゃね?