LINQ All: it’s not all true

Pop quiz!

Will the program below throw an exception when executed?

using System;
using System.Collections.Generic;
using System.Linq;
class Review
{
public int Score { get; set; }
}
class Program
{
static void Main(string[] args)
{
var reviews = new List<Review>();
if (reviews.All(r => r.Score < 0))
throw new Exception("Alert manager");
}
}

view raw
linq-all-gotcha.cs
hosted with ❤ by GitHub

Now try running it to see the result, you might be surprised 🙂

Not intuitive, now is it.

 

LINQ All: it’s not all true

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s