What's the diference between
public static IEnumerable<TSource> Where<TSource>
(this IEnumerable<TSource> source, Func<TSource, bool> predicate)
and
public static IQueryable<TSource> Where<TSource>
(this IQueryable<TSource> source,
Expression<Func<TSource, bool>> predicate)
Both methods can accept a lambda expression in the same way.
List<string> fruits =
new List<string> { "apple", "passionfruit", "banana", "mango",
"orange", "blueberry", "grape", "strawberry" };
IEnumerable<string> query = fruits.Where(fruit => fruit.Length < 6);
Why delegate function and expresion of delegate function exists? Must I take care about it?