Click here to Skip to main content
Click here to Skip to main content

The ?? Operator

By , 4 Sep 2012
Rate this:
Please Sign up or sign in to vote.

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)

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

 
GeneralRe: Some revisions? PinmemberHiren solanki6-Sep-12 20:33 
GeneralMy vote of 5 PinmemberWolfieH6-Sep-12 11:19 
GeneralRe: My vote of 5 PinmemberHiren solanki6-Sep-12 20:34 
GeneralMy vote of 1 [modified] PinmemberSavalia Manoj M5-Sep-12 20:49 
GeneralRe: My vote of 1 PinmemberHiren solanki5-Sep-12 21:36 
GeneralRe: My vote of 1 PinmemberSavalia Manoj M6-Sep-12 1:44 
GeneralRe: My vote of 1 PinmemberHiren solanki6-Sep-12 2:56 
GeneralRe: My vote of 1 PinmemberSavalia Manoj M6-Sep-12 20:17 
GeneralRe: My vote of 1 PinmemberHiren solanki6-Sep-12 20:29 
GeneralRe: My vote of 1 PinmemberSavalia Manoj M6-Sep-12 20:58 
GeneralMy vote of 1 Pinmemberafaz4-Sep-12 22:52 
GeneralRe: My vote of 1 PinmemberHiren solanki4-Sep-12 23:00 
GeneralRe: My vote of 1 PinmemberAndreas Gieriet5-Sep-12 3:52 
GeneralRe: My vote of 1 PinmemberHiren solanki5-Sep-12 3:58 
Thanks Andi for your valuable input.
 
I created this TIP 1.5 year ago in CP. Today After 1.5 year I just updated a single type from 'boll' to 'bool'.
 
I think my typo modification is worth at this time getting good amount of knowledge from you.
 
Thanks.
-Signature is under construction-

GeneralRe: My vote of 1 PinmemberAndreas Gieriet5-Sep-12 5:12 
GeneralMy vote of 4 PinmemberAndreas Gieriet18-Apr-12 23:18 
GeneralReason for my vote of 5 Good to remind people about (new) la... Pinmemberjohannesnestler21-Feb-12 3:39 
GeneralReason for my vote of 5 nice one Pinmembernikhi _singh9-Feb-12 1:45 
GeneralReason for my vote of 5 Simple tip; Doesn't matter if I coul... PinmemberJustin Helsley6-Oct-11 9:23 
GeneralReason for my vote of 5 Completly forgot about this operator... Pinmembersucram16-Jan-11 22:45 
GeneralAre you gonna now describe other operators as well? :) Pinmemberjszczur3-Jan-11 11:57 
GeneralThank you bob. PinmemberHiren Solanki28-Dec-10 18:14 
GeneralReason for my vote of 5 Very usefull in database data PinmemberBob Baeck28-Dec-10 9:09 
General@SAKryukov : I am sorry,I didn't get what you're trying to c... PinmemberHiren Solanki27-Dec-10 20:30 
General@JH64 : Thanks. Yes that's some excessive white space while ... PinmemberHiren Solanki27-Dec-10 20:28 

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 | Mobile
Web02 | 2.8.140421.2 | Last Updated 5 Sep 2012
Article Copyright 2010 by Hiren solanki
Everything else Copyright © CodeProject, 1999-2014
Terms of Use
Layout: fixed | fluid