65.9K
CodeProject is changing. Read more.
Home

The ?? Operator

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.50/5 (25 votes)

Dec 23, 2010

CPOL
viewsIcon

96160

This operator is introduced to set value in place of null value, it can also be defined in words like 'In case of null, pick value from another'

Introduction

Operator is introduced with Nullable datatype inclusion in .NET Framework operator ?? can also be referred in words like 'In case of null, pick value from another'.

Scenario

Suppose you're assigning a value to Nullable bool like:

bool? b = null;
At the time of checking value, it will give you an error like:

if(b) //Error CS0266.
{
 
}

So it's always preferable to use ?? to prevent error like:

if(b ?? false)
{
}

It defines that, in case b is null, pick the value false.

?? can also be used in multiple choice of value like:

bool ? a = null
bool ? b = null
bool ? c = true
 
a = b ?? c ?? false;

That will check b first if b is undefined or null, then it will move further to check for c if that also has null then it will set false to a.