So, if I have a simple class like:
class Color
{
public int ID { get; set; }
public string ColorName { get; set; }
}
and then create a collection of these objects:
List<Color> ColorList;
I'd like to then query this collection with LINQ.
Color selected = ColorList.SingleOrDefault(a => a.ID == someVariable);
My collection will have several colors, all with unique IDs, and one color that I'd want to be the default. What I'm looking for is the ability to specify what is returned when someVariable does not match any ID in the collection. Is this possible, or does SingleOrDefault only return null when a match isn't found?
Because Color is a class, the default value is null. So you can just use the null-coalescing operator (??) like this:
Color selected = ColorList.SingleOrDefault(a => a.ID == someVariable) ?? defaultValue;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With