MS嫌いを自認する私ですが、なんの因果か仕事でC#に「真面目に」取り組んでいます。
まあ、言語としての進化の遅いJavaと比べると、よくも悪くも進化してますね。
でもラムダ式を使えるのはいいけど、scalaのように使いたいな。
object Foo {
def main(args: Array[String]) {
println(bar(10, (i) => i % 4))
}
def bar(i: Int, f: (Int) => Int): Int = f(i)
}
こういう風に、関数の引数型を書ければよいのですが、C#ではclass Foo {
static void Main(string[] args) {
Console.WriteLine(Bar(10, (i) => i % 4));
}
static int Bar(int i, Func<int, int> f) { return f(i); }
}
こう書かないといけないのかな?Func<T, TResult>使うっていまいちだな。
Twitter
RSS