Click here to Skip to main content
11,500,844 members (74,115 online)
Click here to Skip to main content

Tagged as

The ?? Operator

, 4 Sep 2012 CPOL 25.2K 12
Rate this:
Please Sign up or sign in to vote.
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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Hiren solanki
Software Developer
India India
He is a Smart IT devloper with Few years of Expeariance But having Great command on ASP.net,C#,SQL Query,SSRS,Crystal Reports

Apart from that He Loves multimedia work too, Master of Adobe photoshop, Illustrator, CSS , HTML and all things.

He is Currently working in Microsoft Dynamics CRM and Having Nice Expearince with CRM. CRM Rocks!!!

Comments and Discussions

 
SuggestionSome revisions? Pin
Yusuf Uzun6-Sep-12 12:30
memberYusuf Uzun6-Sep-12 12:30 
GeneralRe: Some revisions? Pin
Hiren solanki6-Sep-12 20:33
memberHiren solanki6-Sep-12 20:33 
GeneralMy vote of 5 Pin
WolfieH6-Sep-12 11:19
memberWolfieH6-Sep-12 11:19 
GeneralRe: My vote of 5 Pin
Hiren solanki6-Sep-12 20:34
memberHiren solanki6-Sep-12 20:34 
GeneralMy vote of 1 [modified] Pin
Savalia Manoj M5-Sep-12 20:49
memberSavalia Manoj M5-Sep-12 20:49 
GeneralRe: My vote of 1 Pin
Hiren solanki5-Sep-12 21:36
memberHiren solanki5-Sep-12 21:36 
GeneralRe: My vote of 1 Pin
Savalia Manoj M6-Sep-12 1:44
memberSavalia Manoj M6-Sep-12 1:44 
GeneralRe: My vote of 1 Pin
Hiren solanki6-Sep-12 2:56
memberHiren solanki6-Sep-12 2:56 
GeneralRe: My vote of 1 Pin
Savalia Manoj M6-Sep-12 20:17
memberSavalia Manoj M6-Sep-12 20:17 
GeneralRe: My vote of 1 Pin
Hiren solanki6-Sep-12 20:29
memberHiren solanki6-Sep-12 20:29 
GeneralRe: My vote of 1 Pin
Savalia Manoj M6-Sep-12 20:58
memberSavalia Manoj M6-Sep-12 20:58 
GeneralMy vote of 1 Pin
afaz4-Sep-12 22:52
memberafaz4-Sep-12 22:52 
GeneralRe: My vote of 1 Pin
Hiren solanki4-Sep-12 23:00
memberHiren solanki4-Sep-12 23:00 
GeneralRe: My vote of 1 Pin
Andreas Gieriet5-Sep-12 3:52
memberAndreas Gieriet5-Sep-12 3:52 
GeneralRe: My vote of 1 Pin
Hiren solanki5-Sep-12 3:58
memberHiren solanki5-Sep-12 3:58 
GeneralRe: My vote of 1 Pin
Andreas Gieriet5-Sep-12 5:12
memberAndreas Gieriet5-Sep-12 5:12 
GeneralMy vote of 4 Pin
Andreas Gieriet18-Apr-12 23:18
memberAndreas Gieriet18-Apr-12 23:18 
GeneralReason for my vote of 5 Good to remind people about (new) la... Pin
johannesnestler21-Feb-12 3:39
memberjohannesnestler21-Feb-12 3:39 
GeneralReason for my vote of 5 nice one Pin
nikhi _singh9-Feb-12 1:45
membernikhi _singh9-Feb-12 1:45 
GeneralReason for my vote of 5 Simple tip; Doesn't matter if I coul... Pin
Justin Helsley6-Oct-11 9:23
memberJustin Helsley6-Oct-11 9:23 
GeneralReason for my vote of 5 Completly forgot about this operator... Pin
sucram16-Jan-11 22:45
membersucram16-Jan-11 22:45 
GeneralAre you gonna now describe other operators as well? :) Pin
jszczur3-Jan-11 11:57
memberjszczur3-Jan-11 11:57 
GeneralThank you bob. Pin
Hiren Solanki28-Dec-10 18:14
memberHiren Solanki28-Dec-10 18:14 
GeneralReason for my vote of 5 Very usefull in database data Pin
Bob Baeck28-Dec-10 9:09
memberBob Baeck28-Dec-10 9:09 
General@SAKryukov : I am sorry,I didn't get what you're trying to c... Pin
Hiren Solanki27-Dec-10 20:30
memberHiren Solanki27-Dec-10 20:30 
General@JH64 : Thanks. Yes that's some excessive white space while ... Pin
Hiren Solanki27-Dec-10 20:28
memberHiren Solanki27-Dec-10 20:28 
GeneralHiren, unfortunately, adding "Also, it is not limited to nul... Pin
SAKryukov27-Dec-10 20:28
mvpSAKryukov27-Dec-10 20:28 
General@brad : I haven't said it's limited to NULL only I said it w... Pin
Hiren Solanki27-Dec-10 20:27
memberHiren Solanki27-Dec-10 20:27 
GeneralReason for my vote of 4 Nice. I will try to use ??. I think... Pin
JH6427-Dec-10 7:16
memberJH6427-Dec-10 7:16 
GeneralIt is called the null-coalescing (or coalesce) operator. It... Pin
brad.ford@cudl.com27-Dec-10 6:35
memberbrad.ford@cudl.com27-Dec-10 6:35 
General@SledgeHammer01 : It was just reference from MSDN, Not copy ... Pin
Hiren Solanki23-Dec-10 18:33
memberHiren Solanki23-Dec-10 18:33 
SuggestionRe: @SledgeHammer01 : It was just reference from MSDN, Not copy ... Pin
Clifford Nelson7-Sep-12 14:29
memberClifford Nelson7-Sep-12 14:29 
GeneralRe: @SledgeHammer01 : It was just reference from MSDN, Not copy ... Pin
Hiren solanki7-Sep-12 18:50
memberHiren solanki7-Sep-12 18:50 
GeneralReason for my vote of 5 nice tip Pin
SChristmas23-Dec-10 5:32
memberSChristmas23-Dec-10 5:32 
GeneralReason for my vote of 2 copy and paste from MSDN Pin
SledgeHammer0123-Dec-10 5:11
memberSledgeHammer0123-Dec-10 5:11 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.150520.1 | Last Updated 5 Sep 2012
Article Copyright 2010 by Hiren solanki
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid