சி ஷார்ப் 3.0 விலிருந்து டைப் இன்ஃபெரன்ஸ் (Type inference) என்னும் புதிய கருத்து
உட்புகுத்தப்பட்டுள்ளது.
முதலில் கீழ் காணும் இரு வரிகளை எடுத்துக் கொள்வோம்.
int i=10;
என்ற வரியானது
var i=10;
என்னும் வரிக்கு சமமானதாக சி ஷார்ப்பில் எடுத்துக் கொள்ளப்படுகின்றது.
சி# கம்பைலரானது வேரியபிள் I ன் இனத்தை அதற்கு மதிப்பிருத்தப்ப்படும் 10 ஐ கொண்டு integer ஆக எடுத்துக்
கொள்கின்றது.இது பார்ப்பதற்கு vb யின் variant போல தோன்றினாலும் இது அதனிலிருந்து வேறுபட்டுள்ளதாகும்.
சி# கம்பைலரானது வேரியபிள் I ன் இனத்தை integer ஆக அதன் scope வரை எடுத்துக் கொள்ளும். அதாவது I என்ற வேரியபிளுக்கு integer தவிர வேறு டைப்
மதிப்பை assign
செய்ய இயலாது.
Var என்ற keyword ஐ ஒரு மெத்தடுக்குள்
அறிவிக்கப்படும் local variable களுக்கு மட்டுமே பயன் படுத்த முடியும்.class-wide வேரியபிள்களுக்கு var என்ற keyword உபயோகிக்க முடியாது.
மேலும் Var keyword உடன் அறிவிக்கப்படும்
வேரியபிளானது அதன் தொடக்க மதிப்பை null ஆக கொள்ள இயலாது.
உதாரண நிகழ்:
Using System;
Class VarSample
{
static void Main (String[]
args)
{
var item=”idli”;
var price=10;
var isFood=true;
Type itemType=item.GetType();
Type priceType=price.GetType();
Type isFoodType=isFood.GetType();
Console.WriteLine(“item is type of “+itemType.ToString());
Console.WriteLine(“price is type of “+priceType.ToString());
Console.WriteLine(“isFood is type of “+isFoodType.ToString());
}
}
Output:
Item is type of System.String
Price is type of System.Int32
isFood is type of System.Bool
எனது கட்டுரைகளை ஆங்கிலத்தில் காண
Programminginenglish.blogspot.in