Default Value when using SingleOrDefault()

Total Post:134


 1741  View(s)
Rate this:

I have a simple class like:

class Color
    public int ID {get; set; }
    public stringColorName { 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?

  1. Re: Default Value when using SingleOrDefault()

    Hi  tanuj, 

    Yo can do like this:

    Use ?? (null coalescing operator)
    Color selected = ColorList.SingleOrDefault(a => a.ID ==someVariable) ??
                              new Color {Id = 1234, ColorName = "Blue"}; //Default value

      Modified On Apr-04-2018 05:37:10 AM


Please check, If you want to make this post sponsored

You are not a Sponsored Member. Click Here to Subscribe the Membership.