Search code examples
c#comparisonnullable

C# - How to compare multiple nullable values to check if those that have value are equal?


What is the easiest way to check multiple nullable values, to know if those that are not null are equal?

double? a = null
double? b = 2;
double? c = 3.5;

should return false

double? a = 2.5
double? b = 2;
double? c = 2;

should return false

double? a = null
double? b = 2;
double? c = 2;

should return true

double? a = 4.5;
double? b = 4.5;
double? c = 4.5;

should return true


Solution

  • This seems fairly "easy" to me:

    bool NonNullsAllEqual(params double?[] inputs) =>
        inputs.Where(y => y != null).Distinct().Count() == 1;