Friday, August 31, 2012

சி ஷார்ப்பில் டைப் இன்ஃபெரன்ஸ்(Type inference)


 

 

சி ஷார்ப் 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
 
 


 
ads Udanz