We take pride in your success. We let our positivity drive us, day in and out. Talk to us at Mindfire to know us more.

Software Technology Tips

To my knowledge perhaps the least used operator in C# is the null-coalescing operator .
But you can use it effectively to reduce the lines of code you write .
 
The null-coalesce operator can be used to define / return a default value for a nullable value type / reference type and this is represented by two consecutive question marks (??).
 
Here is how you can use it :
 
 
Ex. 1 : Assign default value to Value type
 
 // define a nullable int
 int? x = null;
 
 // assign a value to another integer, but check if it contains null value
 // if a null is there, assign a default value

 int y = x ?? -1;
 
Ex. 2 : Passing as parameter
 
 public class MyClass
 {
 
 // define members here
 }
 
 public class TestClass
 {
  public void VerifyObject(MyClass myClassObject)
  {
   if (myClassObject == null)
   {
    // display error message
   }
   else
   {
    // do something
   }
  }

  public void Test()
  {
   MyClass myClassObject1 = null;
   MyClass myClassObject2 = new MyClass();
   VerifyObject(myClassObject1 ?? myClassObject2);
  }
 }
 

Ex. 3 : Create new Object
 
 MyClass myClassObject1 = null;
 /*
  instead of writing -
  if (myClassObject1 != null)
  {
   myClassObject2 = myClassObject1;
  }
  else
  {
   myClassObject2 = new MyClass(); 
  }
  Write in a single statement
 */

 MyClass myClassObject2 = myClassObject1 ?? new MyClass();
 
Ex. 4 : Return value from function 
 
 /* instead of writing -
  if (myClassObject1 != null)
   return myClassObject1;
  if (myClassObject2 != null)
   return myClassObject2;
  return null;
 
  Write in a single statement

 */
return myClassObject1 ?? myClassObject2
 As the above examples show using null-coalescing operator can help us reduce the lines of code significantly.
  
 


Related Tags:

C#, .NET, Null-Coalescing Operator

Author: Rabinarayan Biswal

top

C#

Let us Connect!

privacy

copyright (c) Mindfire Solutions 2007-2012. Login