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

3 comments:

  1. Nice attempt brother keep it up.,
    but you should put the content more readable like avoiding lot of line breaks, use some code highlighter etc., make it clean for reading.

    Once again Thanks, keep up the good work.

    ReplyDelete
  2. Nice attempt brother keep it up.,
    but you should put the content more readable like avoiding lot of line breaks, use some code highlighter etc., make it clean for reading.

    Once again Thanks, keep up the good work.

    ReplyDelete
  3. thank you for your suggestions. i will improve my way of writing style of blogs. please keep commenting on my blogs

    ReplyDelete