பொதுவாக
சி ஷார்ப்பில் உள்ள டேட்டா டைப்களை இரண்டு வகையாக பிரிக்கலாம்.
1.
வேல்யூ
டைப்
2.
ரெஃபரன்ஸ்
டைப்.
வேல்யூ
டைப் என்றால் சான்றாக int, float, bool , struct, enum, போன்றவற்றை சான்றாக கூறலாம்.
ரெஃபெரெனன்ஸ் டேட்டா டைப் என்றால் class,
interface, string,delegates, array போன்றவற்றை.
இவற்றில்
வேல்யூ டைப்பிற்கு null என்பதை மதிப்பிருத்த முடியாது. ஆனால் ரெஃபரன்ஸ் டைப்பிற்கு
மதிப்பிருத்தலாம்.
சான்றாக
String
name=null //valid
int
a=null //invalid
இப்பொழுது
சில சூழ்நிலைகளில் வேல்யூ டைப்பிற்கு null என்பதை மதிப்பிருத்த வேண்டியது ஏற்படலாம்.
அவ்வாறான சூழ்நிலைகளில் டேட்டா டைப்பிற்க்கு அருகில் ஒரு ? என்பதை இட வேண்டும்.
சான்றாக
int?
a=null //valid
சான்றாக
firstname, lastname, Areyoumajor போன்றவற்றிற்கு உள்ளீடு கொடுக்க வேண்டும் என்று எடுத்துக்
கொள்வோம்.இதில் Areyoumajor என்பது பூலியன் டேட்டா டைப். இதற்கு நல் மதிப்பிருத்த முடியாது.
ஆனால் மதிப்பிருத்தாவிடில் டிஃபால்ட் ஆக false என்பதை எடுத்துக் கொள்ளும். ஆகையால்
இது மேஜர் கிடையாது என்று ஆகிவிடும்.
எனவே பின்
வருமாறு மதிப்பிருத்தலாம்.
bool?
Areyoumajor=null //valid
சான்று
நிரல்-1
using System;
namespace Nullabletypes
{
class Program
{
static void Main(string[] args)
{
bool? AreYouMajor = null;
if (AreYouMajor == true)
{
Console.WriteLine("you are
major");
}
else if (AreYouMajor == false)
{
Console.WriteLine("you are not
major");
}
else
{
Console.WriteLine(" no input
given");
}
}
}
}
இப்பொழுது
கீழே உள்ள நிரலை பார்க்கவும்.
using System;
namespace Nullabletypes
{
class Program
{
static void Main(string[] args)
{
int? TicketOnSale = null;
int AvailableTickets;
if (TicketOnSale == null)
{
AvailableTickets = 0;
}
else
{
AvailableTickets = (int)TicketOnSale;
}
Console.WriteLine("Available
tickets={0}", AvailableTickets);
}
}
}
இதில்
TicketOnSale, AvailableTickets என இரண்டு வேரியபிள்கள் உள்ளன. இதில்
TicketOnSale நல் எனில் AvailableTickets 0 எனவும் இல்லையெனில் என்ன மதிப்போ அது மதிப்பிருத்தப் பட வேண்டும்.
இதை சுருக்கமாக பின் வருமாறு எழுதலாம்.
using System;
namespace Nullabletypes
{
class Program
{
static void Main(string[] args)
{
int? TicketOnSale = null;
int AvailableTickets = TicketOnSale ?? 0;
Console.WriteLine("Available
tickets={0}", AvailableTickets);
}
}
}
வெளியீடு:
Available
tickets=0
Press
any key to continue . . .
சான்று
நிரல்
using System;
namespace Nullabletypes
{
class Program
{
static void Main(string[] args)
{
int? TicketOnSale = 100;
int AvailableTickets = TicketOnSale ?? 0;
Console.WriteLine("Available
tickets={0}", AvailableTickets);
}
}
}
வெளியீடு:
Available
tickets=100
Press
any key to continue . . .
இதில்
?? என்பது நல்கோயல்சிங்க் (null coalescing) ஆபரேட்டர் எனப்படுகின்றது.
-நன்றி.
முத்து
கார்த்திகேயன்,மதுரை.
No comments:
Post a Comment