HI WELCOME TO SIRIS

Part 6 - C# Tutorial - Nullable Types

Leave a Comment

we will discuss

1. Nullable types in C#
2. Null Coalescing Operator ?? 



In C# types  are divided into 2 broad categories.
Value Types  - int, float, double, structs, enums etc
Reference Types – Interface, Class, delegates, arrays etc



By default value types are non nullable. To make them nullable use ?
int i = 0 (i is non nullable, so "i" cannot be set to null, i = null will generate compiler error)
int? j = 0 (j is nullable int, so j=null is legal)

Nullable types bridge the differences between C# types and Database types

Program without using NULL coalescing operator
using System;
class Program
{
    static void Main()
    {
        int AvailableTickets;
        int? TicketsOnSale = null;

        if (TicketsOnSale == null)
        {
            AvailableTickets = 0;
        }
        else
        {
            AvailableTickets = (int)TicketsOnSale;
        }

        Console.WriteLine("Available Tickets={0}", AvailableTickets);
    }
}

The above program is re-written using NULL coalescing operator
using System;
class Program
{
    static void Main()
    {
        int AvailableTickets;
        int? TicketsOnSale = null;

        //Using null coalesce operator ??
        AvailableTickets = TicketsOnSale ?? 0;

        Console.WriteLine("Available Tickets={0}", AvailableTickets);
    }
} 

0 comments:

Post a Comment

Note: only a member of this blog may post a comment.