Denis Koroskin Wrote: > >> Could be used as follows: > >> > >> foo( (i) { ++i; } ); > > > > Holy shi- > > Now feel some real power, Luke. :) > > > > foo( i => ++i ); > > > >> foo((i){ ++i; }); // error > >> foo((i){ ++i; return;}); // unambiguous > >> foo((i){ return ++i;}); // unambiguous > > That was just an example. Those short lambdas are often used as predicates. > Compare: > > findAll(array, (i) { i > 3; }); > findAll(array, (int i) { return i > 3; });
array.filter((x){x>3}) array.filter(x => x>3) array.map(dep => dep.director) I've run into one article. It points out that C# operator => can be viewed as convertion, so operations working with such convertions look rather natural and expressive.