-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Closed
Description
I can't count the number of times I've written something like this:
var x = (from item in collection
where item.foo
select item.bar).Single()
Readability takes a nose dive, especially with complex or nested queries. There's a lot we can do to improve what is one of C#'s most powerful features. From low-hanging fruit that are compatible with existing infrastructure like ORMs:
from item in collection
select single item.foo;
from item in collection
select first item.foo or default;
from item in collection
select sum of item.foo;
from item in collection
skip 5
select top 3 item.foo;
from item in collection
left join item2 in collection2 on item.foo equals item2.foo
select new { item, item2 };
To bits which are currently only usable by LINQ to Objects:
from item in collection
group item.foo by item.bar into grp using StringComparer.InvariantCulture
select grp;
from item in collection by idx
select "item " + item + " at index " + idx;
Reactions are currently unavailable