Оба фрагмента ниже продукта одинакового выхода.Я понимаю, как Func инкапсулирует метод с одним параметром и возвращает значение bool.И вы можете назначить ему метод, анонимный метод или лямбда-выражение.
Func<int, bool> deleg = i => i < 5;
Console.WriteLine("deleg(4) = {0}", deleg(4));
Ниже используются деревья выражений, которые я до конца не понимаю.Почему я хотел бы сделать это таким образом?Это более гибко, какое преимущество это дает мне?
System.Linq.Expressions.Expression<Func<int, bool>> expr = i => i < 5;
Func<int, bool> deleg2 = expr.Compile();
Console.WriteLine("deleg2(4) = {0}", deleg2(4));