Wednesday, January 29, 2020

டேட்டா டைப் கன்வெர்சன்கள் சி ஷார்ப்



இந்த கட்டுரையில் சி ஷார்ர்பில் டேட்டா டைப் கன்வெர்சன்கள் குறித்து காண் இருக்கின்றோம்.
இரண்டு வகையான கன்வெர்சன்கள்>
1.      Implicit conversion
2.      Explicit Conversion.
இம்ப்ளிசிட் கன்வெர்சனில் லோயர் டேட்டா டைப்பை ஹையர் டேட்டா டைப்பிற்க்கு மதிப்பிருத்துவோ.
சான்று நிரல்.
using System;

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 150;
            float f = a;
            Console.WriteLine("float value={0}", f);
           
        }
    }
}
இதில் int லோயர் டேட்டா டைப், float ஹையர் டேட்டா டைப். இந்த மதிப்பிருத்தலில் எந்த டேட்டா இழப்பும் ஏற்பட போவதில்லை. மேலும் டேட்டா ஓவர் ஃப்லொவும் ஏற்பட போவதில்லை. இதில் நேரடியாக டேட்டாவை மதிப்பிருத்தியிருக்கின்றோம். எனவே இது implicit conversion ஆகும்
சான்று நிரல்-2
using System;

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
           float a= 150.123F;
            int  f =(int) a;
            Console.WriteLine("int value={0}", f);
           
        }
    }
}
வெளியீடு:
int value=150
Press any key to continue . . .
மேலே உள்ள நிரலில் ஹையர் டேட்டா டைபை லோயர் டேட்டா டைப்பிற்கு மதிப்பிருத்தியிருக்கின்றோம்.இதில் int கீ வேர்டை பயன்படுத்தி Explicit ஆக மதிப்பிருத்தியிருக்கின்றோம். எனவே இது explicit conversion ஆகும்.
சான்று நிரல்-3
using System;

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
           float a= 150.123F;
            int  f =Convert.ToInt32( a);

            Console.WriteLine("int value={0}", f);
           
        }
    }
}
மேற்கண்ட முறையிலும் Convert.ToInt32 என்ற லைப்ரரி மெத்தடை  பயன்படுத்தியும் Explicit conversion செய்யலாம்.
இரண்டுக்கும் உள்ள வித்தியாசம்.
1.      டேட்டா ஓவர் ஃப்லோ ஆகும் பொழுது டைப்பை குறிப்பிட்டு(int)
கன்வெர்சன் செய்கையில் டேட்டா தவறுதலாக மதிப்பிருத்தப்படும். உதாரணத்திற்கு int எனில் அதன் மினிமம் வேல்யூ மதிப்பிருத்தப்படலாம்.
2.      Convert.ToInt32 என்பதில் டேட்டா ஓவர் ஃப்லோ ஆகும் பொழுது முறையாக எர்ரர் திரோ ஆகும்.
அடுத்தது int.parse.
இது ஸ்ட்ரிங்க் மதிப்பை இன்டிஜர் ஆக கன்வெர்ட் செய்ய  பயன்படுகின்றது.
using System;

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = "500";
            int i = int.Parse(a);

            Console.WriteLine("int value={0}", i);
           
        }
    }
}
வெளியீடு:
int value=500
Press any key to continue . . .
ஆனால் ஸ்ட்ரிங்க் மதிப்பு தவறுதலாக இருந்தால் (ஏண்ணாக இல்லாமல் இருந்தால்) உதாரணத்திற்கு 500tg என இருந்தால் எர்ரர் திரோ செய்யப்படும். அந்த நேரத்தில் TryParse மெத்தட் கை கொடுக்கும்.
using System;

namespace ConsoleApplication8
{
    class Program
    {
        static void Main(string[] args)
        {
            string a = "500tg";
            int result = 0;
            bool b = int.TryParse (a, out result );
            if (b)
            {
                Console.WriteLine("int value={0}", result);
            }
            else
            {
                Console.WriteLine("not a number");
            }

           
        }
    }
}
மேலே உள்ள நிரலில் TryParse மெத்தட் ஆனது a சரியான நம்பர் ஃபார்மேட்டில் இருந்தால் அதை பார்ஸ் செய்து result என்ற வேரியபிளில் மதிப்பிருத்தும்.மேலும் கன்வெர்சன் வெற்றி எனில் true மதிப்பையும் தோல்வி எனில் false மதிப்பையும் ரிடர்ன் செய்யும். அதை சோதித்து முறையாக மேலே உள்ள நிரலில் உள்ள படி வெளியீடு செய்யலாம்.
மேலே உள்ள நிரலின் வெளியீடு:

not a number
Press any key to continue . . .
இவ்வாறாக டேட்டா டைப் கன்வெர்சன்கள் சி ஷார்ப்பில் நடைபெறுகின்றது.
நன்றி.
முத்து கார்த்திகேயன்,மதுரை.



ads Udanz

No comments:

Post a Comment