Int.Parse () এবং Convers.ToInt32 এর মধ্যে প্রধান পার্থক্য কী


492
  • মধ্যে মূল পার্থক্য কি int.Parse()এবং Convert.ToInt32()?
  • কোনটি পছন্দ করা উচিত

উত্তর:


448
  • যদি আপনি একটি স্ট্রিং পেয়ে থাকেন এবং আপনি এটি সর্বদা পূর্ণসংখ্যা হিসাবে প্রত্যাশা করেন (বলুন, যদি কোনও ওয়েব পরিষেবা আপনাকে স্ট্রিং ফর্ম্যাটে কোনও পূর্ণসংখ্যার হাত দিচ্ছে) তবে আপনি ব্যবহার করতে পারবেন Int32.Parse()

  • আপনি যদি কোনও ব্যবহারকারীর কাছ থেকে ইনপুট সংগ্রহ করছেন তবে আপনি সাধারণত ব্যবহার করতেন Int32.TryParse(), যেহেতু এটি যখন ব্যবহারকারী অবৈধ ইনপুট প্রবেশ করে তখন আপনাকে পরিস্থিতিটির উপর আরও সূক্ষ্ম নিয়ন্ত্রণের অনুমতি দেয়।

  • Convert.ToInt32()কোনও বস্তুকে এর যুক্তি হিসাবে গ্রহণ করে। (এটি কীভাবে কাজ করে তার জন্য ক্রিস এস এর উত্তর দেখুন)

    Convert.ToInt32()ArgumentNullExceptionযখন তার যুক্তিটি নাল হয় তখনও নিক্ষেপ করে না Int32.Parse()। এর অর্থ Convert.ToInt32()হ'ল এটি সম্ভবত একটি ধীরে ধীরে ধীরে ধীরে ধীরে ধীরে কম Int32.Parse(), যদিও বাস্তবে আপনি যদি একটি লুপে খুব বড় সংখ্যক পুনরাবৃত্তি না করেন তবে আপনি এটি কখনই লক্ষ্য করবেন না।


54
অন্যরা যেমন উল্লেখ করেছে, কনভার্ট.টোইন্ট 32 (গুলি) নাল হয়ে গেলে কোনও ব্যতিক্রম ছুঁড়ে না, তবে পার্স () করেন। "কিছুটা ধীর" পুরোপুরি বিন্দুর পাশে রয়েছে কারণ আপনি কখনই পার্থক্যটি পরিমাপ করবেন না।
রবার্ট পলসন

4
ধন্যবাদ, রবার্ট! আমি আরও কিছু সম্পূর্ণতার জন্য আমার উত্তর সম্পাদনা করছি। তবে পারফরম্যান্স যতদূর যায়, আমি বাজি দেব গতির পার্থক্যটি যদি আপনি একে নেস্টেড লুপে ডাকেন তবে তা সনাক্তযোগ্য হবে ...
ডেভ মার্কেল

5
প্রকৃতপক্ষে, যেহেতু ToInt32পদ্ধতিটিতে প্রচুর পরিমাণের বোঝার জন্য একটি ওভারলোড রয়েছে System.String, সেগুলির মধ্যে রয়েছে, টাইপটি সনাক্ত করে কোনও সময় হারাবে না। আসল কোডটি শূন্য মানগুলির int.Parse(value, CultureInfo.CurrentCulture)জন্য এবং সমস্ত কিছুর জন্য 0 প্রদান ছাড়া আর কিছুই করে না ।
Andreas এরিকসন

6
@ স্টেলথ রাব্বি: ডকুমেন্টেশনের "রিটার্ন মান" বিভাগে: "একটি 32-বিট স্বাক্ষরিত পূর্ণসংখ্যা যা মানের সংখ্যার সমান, বা মান শূন্য হলে 0 (শূন্য) হয়।"
ডেভ মার্কেল

3
আপনার উল্লেখ দয়া করে সরিয়ে Int32.TryParse()মধ্যে Convert.ToInt32()কারণ এটি ভুল। স্ট্রিংটি ভুলভাবে ফর্ম্যাট করা থাকলে রূপান্তর একটি ব্যতিক্রম ছোঁড়ে।
দেহালিয়ন

190

প্রতিবিম্বকে দেখুন:

int.Parse ( "32"):

public static int Parse(string s)
{
    return System.Number.ParseInt32(s, NumberStyles.Integer, NumberFormatInfo.CurrentInfo);
}

যা একটি কল:

internal static unsafe int ParseInt32(string s, NumberStyles style, NumberFormatInfo info)
{
    byte* stackBuffer = stackalloc byte[1 * 0x72];
    NumberBuffer number = new NumberBuffer(stackBuffer);
    int num = 0;
    StringToNumber(s, style, ref number, info, false);
    if ((style & NumberStyles.AllowHexSpecifier) != NumberStyles.None)
    {
        if (!HexNumberToInt32(ref number, ref num))
        {
            throw new OverflowException(Environment.GetResourceString("Overflow_Int32"));
        }
        return num;
    }
    if (!NumberToInt32(ref number, ref num))
    {
        throw new OverflowException(Environment.GetResourceString("Overflow_Int32"));
    }
    return num;
}

Convert.ToInt32 ( "32"):

public static int ToInt32(string value)
{
    if (value == null)
    {
        return 0;
    }
    return int.Parse(value, CultureInfo.CurrentCulture);
}

যেমনটি প্রথম (ডেভ এম এর) মন্তব্য বলেছে।


19
পূর্ববর্তী উত্তর থেকে সমস্ত অনুমান সরিয়ে দেওয়ার জন্য ধন্যবাদ।
bopapa_1979

1
এটি "রিটার্ন ডিফল্ট (ইন্ট)" হওয়া উচিত নয়; ?
Skorunka František

2
সংক্ষেপে, একটি উত্থাপন থেকে প্রতিরোধ যদি Convert.ToInt32ফেরত । 0nullint.ParseArgumentNullException
আন্দ্রে লেরিয়া

4
@ SkorunkaFrantišek - default(int)সংকলন সময়ে এই অভিব্যক্তিটি মূল্যায়ন করা হয়, যেহেতু এটির একটি অন্তর্নিহিত মূল্য - অভিব্যক্তিটির ফলাফল 0, সুতরাং সংকলকটি একটি আক্ষরিক সন্নিবেশ করায় 0। আইএল বিযুক্তকরণ সরঞ্জামগুলি এর চেয়ে ভাল আরও কিছু জানতে পারে না, সুতরাং তারা আপনাকে কেবল আক্ষরিক শূন্য দেখায়।
এন্টিডিউ

4
@ SkorunkaFrantišek এটি সম্পূর্ণরূপে পয়েন্ট ছাড়াও। ব্যবহারকারী প্রতিবিম্বিত কোডটি অনুলিপি করছিলেন। এটি পরিবর্তন করতে যা সংকলিত হয়েছে তার একটি ভুল উপস্থাপনা হবে। যদি ব্যবহারকারীর আসল উত্স থাকে এবং মূল উত্সটি ডিফল্ট (ইনট) থাকে তবে ব্যবহারকারী এটি পোস্ট করত।
আরশাদম্যান

78

যেমন কোন পার্থক্য। অভ্যন্তরীণ
Convert.ToInt32()কলint.Parse()

যুক্তি থাকলে একটি জিনিস Convert.ToInt32()ফিরে আসে0null

অন্যথায় উভয়ই একইভাবে কাজ করে


5
আরও স্পষ্টভাবে, অভ্যন্তরীণ Convert.ToInt32(string)কল int.ParseConvert.ToInt32(object)যাইহোক, কল ((IConvertible) value).ToInt32, যা ক্ষেত্রে stringকল Convert.ToInt32(string)... একটি বিট সংবর্ত ...
Timwi

3
হ্যাঁ, রূপান্তর করুন o টু আইন্ট 32 (চর) আসলে (ইনট) মানটি ফিরিয়ে দেবে যা '1' কে 49-এ পরিণত করবে generally সাধারণত উদ্দেশ্যযুক্ত কার্যকারিতা নয়।
ডেল কে

32

int. পার্স (স্ট্রিং)

  • RANGE> তে পূর্ণসংখ্যার পূর্ণসংখ্যার মান প্রদান করে
  • নাল মান> যুক্তিহীন ধারণা
  • বিন্যাসে নয়> ফর্ম্যাটএক্সসেপশন
  • RANGE> ওভারফ্লো এক্সসেপশনে মান হয় না

রূপান্তর করুন.টোইন্ট 32 (স্ট্রিং)

  • RANGE> তে পূর্ণসংখ্যার পূর্ণসংখ্যার মান প্রদান করে
  • নাল মান> "0" প্রদান করে
  • বিন্যাসে নয়> ফর্ম্যাটএক্সসেপশন
  • RANGE> ওভারফ্লো এক্সসেপশনে মান হয় না

bool isParsed = int.TryParse (স্ট্রিং এর, রেস আউট)

  • RANGE এ পূর্ণসংখ্যা> পূর্ণসংখ্যা মান প্রদান করে, এটি পার্সড = সত্য
  • নাল মান> "0" প্রদান করে, পার্সড = মিথ্যা
  • বিন্যাসে নয়> "0" প্রদান করে, পার্সড = মিথ্যা
  • RANGE এ মান নেই> "0" প্রদান করে, পার্সড = মিথ্যা

এই কোডটি নীচে চেষ্টা করুন .....

class Program
{
    static void Main(string[] args)
    {
        string strInt = "24532";
        string strNull = null;
        string strWrongFrmt = "5.87";
        string strAboveRange = "98765432123456";
        int res;
        try
        {
            // int.Parse() - TEST
            res = int.Parse(strInt); // res = 24532
            res = int.Parse(strNull); // System.ArgumentNullException
            res = int.Parse(strWrongFrmt); // System.FormatException
            res = int.Parse(strAboveRange); // System.OverflowException

            // Convert.ToInt32(string s) - TEST
            res = Convert.ToInt32(strInt); // res = 24532
            res = Convert.ToInt32(strNull); // res = 0
            res = Convert.ToInt32(strWrongFrmt); // System.FormatException
            res = Convert.ToInt32(strAboveRange); //System.OverflowException

            // int.TryParse(string s, out res) - Test
            bool isParsed;
            isParsed = int.TryParse(strInt, out res); // isParsed = true, res = 24532
            isParsed = int.TryParse(strNull, out res); // isParsed = false, res = 0
            isParsed = int.TryParse(strWrongFrmt, out res); // isParsed = false, res = 0
            isParsed = int.TryParse(strAboveRange, out res); // isParsed = false, res = 0 
        }
        catch(Exception e)
        {
            Console.WriteLine("Check this.\n" + e.Message);
        }
    }


21

পার্থক্যটি হ'ল:

Int32.Parse()এবং Int32.TryParse()শুধুমাত্র স্ট্রিং রূপান্তর করতে পারে। Convert.ToInt32()প্রয়োগকারী যে কোনও ক্লাস নিতে পারে IConvertible। যদি আপনি এটি একটি স্ট্রিং পাস করেন, তবে সেগুলি সমতুল্য, আপনি তুলনা ইত্যাদির জন্য অতিরিক্ত ওভারহেড পাবেন ইত্যাদি যদি আপনি স্ট্রিংকে রূপান্তর করছেন তবে TryParse()সম্ভবত এটিই সর্বোত্তম বিকল্প।


8

ট্রাইপার্স দ্রুত ...

পার্সে এই ফাংশনগুলির মধ্যে প্রথমটি হ'ল যে কোনও। নেট বিকাশকারীদের সাথে পরিচিত হওয়া উচিত। এই ফাংশনটি একটি স্ট্রিং নেবে এবং এর থেকে পূর্ণসংখ্যা বের করার এবং পরে পূর্ণসংখ্যা ফেরত দেওয়ার চেষ্টা করবে। যদি এটি এমন কোনও কিছুতে চলে যায় যা এটি বিশ্লেষণ করতে পারে না তবে এটি একটি ফর্ম্যাটেক্সপশন নিক্ষেপ করে বা যদি সংখ্যাটি খুব বেশি হয় তবে একটি ওভারফ্লো এক্সেপশন। এছাড়াও, আপনি যদি এটি একটি নাল মান পাস করেন তবে এটি একটি আর্গুমেন্টএক্সেপশন নিক্ষেপ করতে পারে।

ট্রিপ পার্সে নতুন। নেট 2.0 ফ্রেমওয়ার্কে একটি নতুন সংযোজন যা মূল পার্স ফাংশন সহ কিছু সমস্যা সম্বোধন করে। মূল পার্থক্যটি হ'ল ব্যতিক্রম হ্যান্ডলিং খুব ধীর, সুতরাং ট্রাই পার্সে স্ট্রিংটিকে পার্স করতে না পারলে পার্সের মতো ব্যতিক্রম ছুঁড়ে না ফেলে। পরিবর্তে, এটি একটি বুলিয়ান ফিরিয়ে দেয় যা নির্দেশ করে যে এটি কোনও সংখ্যাকে সফলভাবে পার্স করতে সক্ষম হয়েছিল কিনা। সুতরাং আপনাকে দুটি স্ট্রিংকে পার্স করতে হবে এবং পূরণ করার জন্য একটি ইন্টার 32 আউট প্যারামিটার উভয়কেই পাস করতে হবে Try ট্রাইপার্স এবং পার্সের উভয় ক্ষেত্রে যেখানে স্ট্রিংকে সঠিকভাবে পার্স করা যায় এবং যেখানে ক্ষেত্রে স্ট্রিংটি পার্স করতে পারে তার জন্য আমরা প্রোফাইলার ব্যবহার করব where স্ট্রিংটি সঠিকভাবে পার্স করা যায় না।

রূপান্তর শ্রেণিতে একটি বেস শ্রেণিকে অন্যে রূপান্তর করতে ক্রিয়াকলাপগুলির একটি সিরিজ রয়েছে। আমি বিশ্বাস করি যে রূপান্তর করুন। টুআইন্ট 32 (স্ট্রিং) কেবল একটি নাল স্ট্রিংয়ের জন্য পরীক্ষা করে (যদি স্ট্রিংটি পার্সের বিপরীতে শূন্যটি ফিরে আসে) তবে কেবল ইনট 32 কে কল করুন string পার্স (স্ট্রিং)। আমি এটি নিশ্চিত করতে এবং পার্সের বিপরীতে রূপান্তর ব্যবহার করা পারফরম্যান্সের কোনও সত্যিকারের প্রভাব ফেলে কিনা তা দেখতে প্রোফাইলার ব্যবহার করব।

উদাহরণ সহ উত্স

আশাকরি এটা সাহায্য করবে.


3
আপনি যখন ট্রিপর্স থেকে উত্সটি দেখেন তবে আসলে এটির কোনও ব্যতিক্রম হ্যান্ডেল নেই - কেবল চরিত্রের হেরফের এবং বিট শিফটিং, লিঙ্কটির জন্য ধন্যবাদ
ক্রিস এস

2
এই বেঞ্চমার্ক অনুসারে , আপনি 2 মিলিয়নেরও বেশি অবজেক্টকে রূপান্তর না করে পার্স, ট্রাইপার্স এবং কনভার্টগুলি একই গতিযুক্ত।
ফ্রি কোডার 24

8

Int32.parse (STRING) --->

ইন্ট 32. পার্স (স্ট্রিং) পদ্ধতি কোনও সংখ্যার স্ট্রিং প্রতিনিধিত্বকে তার 32-বিট স্বাক্ষরিত পূর্ণসংখ্যার সমতুল্যে রূপান্তর করে। S যখন নাল রেফারেন্স হয় তখন এটি আর্গুমেন্টনাল এক্সসেপশন নিক্ষেপ করবে। গুলি যদি পূর্ণসংখ্যার মান ব্যতীত অন্য হয় তবে এটি ফর্ম্যাটেক্সেপশন নিক্ষেপ করবে। S যখন MinValue এর চেয়ে কম বা ম্যাক্সালিউয়ের চেয়ে বড় সংখ্যার প্রতিনিধিত্ব করে, তখন এটি ওভারফ্লো এক্সেকসেপশন নিক্ষেপ করবে। উদাহরণস্বরূপ :

string s1 = "1234"; 
string s2 = "1234.65"; 
string s3 = null; 
string s4 = "123456789123456789123456789123456789123456789"; 

result = Int32.Parse(s1);    //1234
result = Int32.Parse(s2);    //FormatException
result = Int32.Parse(s3);    //ArgumentNullException 
result = Int32.Parse(s4);    //OverflowException

রূপান্তর করুন.টোইন্ট 32 (স্ট্রিং) -> রূপান্তর করুন.টোইন্ট 32 (স্ট্রিং) পদ্ধতি 32-বিট স্বাক্ষরিত পূর্ণসংখ্যার সমতুল্যের নির্দিষ্ট স্ট্রিং প্রতিনিধিত্বকে রূপান্তর করে। এটি পরিবর্তে Int32. পার্স () পদ্ধতিতে কল করে। S যখন নাল রেফারেন্স হয়, তখন এটি ArgumentNullException নিক্ষেপের পরিবর্তে 0 প্রদান করবে। গুলি যদি পূর্ণসংখ্যার মান ব্যতীত অন্য হয় তবে এটি ফর্ম্যাটেক্সেপশন নিক্ষেপ করবে। S যখন MinValue এর চেয়ে কম বা ম্যাক্সালিউয়ের চেয়ে বড় সংখ্যার প্রতিনিধিত্ব করে, তখন এটি ওভারফ্লো এক্সেকসেপশন নিক্ষেপ করবে।

উদাহরণ স্বরূপ:

 result = Convert.ToInt32(s1);    // 1234 
 result = Convert.ToInt32(s2);    // FormatException
 result = Convert.ToInt32(s3);    // 0
 result = Convert.ToInt32(s4);    // OverflowException 

1
রেফারেন্স যুক্ত করুন: কোডেপ্রজেক্ট
আর্টিকেল

4
Convert.ToInt32

19 টি ওভারলোড বা 19 টি বিভিন্ন উপায়ে রয়েছে যা আপনি এটি কল করতে পারেন। 2010 সংস্করণে আরও বেশি হতে পারে।

এটি নিম্নলিখিত ধরণগুলি থেকে রূপান্তর করার চেষ্টা করবে;

অবজেক্ট, বুলিয়ান, চর, এসবাইট, বাইট, ইন্ট 16, ইউআইএনটি 16, ইন্ট 32, ইউআইএনটি 32, ইন্ট 64, ইউআইএন 64, একক, ডাবল, দশমিক, স্ট্রিং, তারিখ

এবং এটির অন্যান্য পদ্ধতিও রয়েছে; একটিতে একটি সংখ্যা বেস এবং 2 পদ্ধতিতে জড়িত একটিSystem.IFormatProvider

অন্যদিকে পার্সে কেবল 4 টি ওভারলোড বা 4 টি বিভিন্ন উপায় রয়েছে যাতে আপনি পদ্ধতিটিকে কল করতে পারেন।

Integer.Parse( s As String)

Integer.Parse( s As String,  style As System.Globalization.NumberStyles )

Integer.Parse( s As String, provider As System.IFormatProvider )

Integer.Parse( s As String,  style As System.Globalization.NumberStyles, provider As System.IFormatProvider )

2

এটি প্যারামিটারের ধরণের উপর নির্ভর করে। উদাহরণস্বরূপ, আমি সবেমাত্র আবিষ্কার করেছি যে এটি একটি চরকে এর ASCII মান ব্যবহার করে সরাসরি INT তে রূপান্তর করবে। ঠিক আমি যে কার্যকারিতাটি চেয়েছিলাম তা নয় ...

তোমাকে সতর্ক করা হল!

public static int ToInt32(char value)
{
    return (int)value;
} 

Convert.ToInt32('1'); // Returns 49
int.Parse('1'); // Returns 1

C # charতে অন্তর্নিহিত রূপান্তর করতে পারেন string? এটা অবশ্যই VB.NET মধ্যে, এবং তাই সেই ভাষায় প্রোগ্রামারদের সম্ভবত আশা করতে পারেন হবে Convert.ToInt32("1"c)এবং Convert.ToInt32("1")সমতুল্য হতে পারে, কিন্তু আমি মনে করি না C # এর যে অন্তর্নিহিত রূপান্তর হয়েছে না।
সুপারক্যাট

আপনি চরকে স্ট্রিংয়ে রূপান্তর করতে পারবেন না, তা স্পষ্টভাবে বা স্পষ্টভাবে। আপনাকে '1'.ToString () বা নতুন স্ট্রিং (' 1 ', 1) কল করতে হবে;
ডেল কে

3
আমি "সতর্কতা "টিকে সি # এর জন্য মারাত্মকভাবে তাৎপর্যপূর্ণ বলে বিবেচনা করব না, যেহেতু সেই ভাষাটি charমানগুলি ভিবিএনটের চেয়ে কিছুটা বেশি নম্বর-ইশ হিসাবে বিবেচনা করে। বিপদ vb.net, যেখানে সেখানে তার মাঝে একটি অনুভূত পার্থক্য কম কারণ একটি অন্তর্নিহিত ঢালাই মধ্যে বৃহত্তর হবে Charএবং String
সুপারক্যাট

2

এর জন্য int.Parseএবং এর জন্য এখানে বিশদ রয়েছে Convert.ToInt32: বলুন, আপনার কাছে একটি চর অ্যারে রয়েছে char[] a=['1','2','3','4']এবং প্রতিটি উপাদানকে পূর্ণসংখ্যায় রূপান্তর করতে চান। এটি Convert.ToInt32(a[0])আপনাকে 49 নম্বর দেবে It এটি এএসসিআইআই কোড হিসাবে বিবেচনা করে The int.Parse(a[0])আপনাকে সঠিক আউটপুট দেবে যা 1

আপনি একটি স্ট্রিং অ্যারে যদি string[] b=['1','2','3','4'], তারপর Convert.ToInt32এবং int.Parseআউটপুটে কোন পার্থক্য থাকবে না। উভয়ই সঠিক পূর্ণসংখ্যা ফেরত দেয়।


1

রূপান্তর করুন। টুআইন্ট 32 নাল মানকে অনুমতি দেয়, এটি কোনও ত্রুটি ফেলে না ইন্ট.পার্স নাল মানকে অনুমতি দেয় না, এটি একটি আর্গুমেন্টনাল এক্সসেপশন ত্রুটি নিক্ষেপ করে।


1

স্পষ্টকরণের জন্য ওপেন কনসোল অ্যাপ্লিকেশনটির জন্য, কেবল কোডের নীচে অনুলিপি করুন এবং এটি static void Main(string[] args)পদ্ধতিতে পেস্ট করুন , আমি আশা করি আপনি বুঝতে পারবেন

public  class Program
    {
        static void Main(string[] args)
        { 
            int result;
            bool status;
            string s1 = "12345";
            Console.WriteLine("input1:12345");
            string s2 = "1234.45";
            Console.WriteLine("input2:1234.45");
            string s3 = null;
            Console.WriteLine("input3:null");
            string s4 = "1234567899012345677890123456789012345667890";
            Console.WriteLine("input4:1234567899012345677890123456789012345667890");
            string s5 = string.Empty;
            Console.WriteLine("input5:String.Empty");
            Console.WriteLine();
            Console.WriteLine("--------Int.Parse Methods Outputs-------------");
            try
            {
               result = int.Parse(s1);

               Console.WriteLine("OutPut1:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut1:"+ee.Message);
            }
            try
            {
              result = int.Parse(s2);

              Console.WriteLine("OutPut2:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut2:" + ee.Message);
            }
            try
            {
               result = int.Parse(s3);

               Console.WriteLine("OutPut3:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut3:" + ee.Message);
            }
            try
            {
                result = int.Parse(s4);

                Console.WriteLine("OutPut4:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut4:" + ee.Message);
            }

            try
            {
                 result = int.Parse(s5);

                 Console.WriteLine("OutPut5:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut5:" + ee.Message);
            }
            Console.WriteLine();
            Console.WriteLine("--------Convert.To.Int32 Method Outputs-------------");
            try
            {

                result=  Convert.ToInt32(s1);

                Console.WriteLine("OutPut1:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut1:" + ee.Message);
            }
            try
            {

                result = Convert.ToInt32(s2);

                Console.WriteLine("OutPut2:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut2:" + ee.Message);
            }
            try
            {

         result = Convert.ToInt32(s3);

         Console.WriteLine("OutPut3:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut3:" + ee.Message);
            }
            try
            {

                  result = Convert.ToInt32(s4);

                  Console.WriteLine("OutPut4:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut4:" + ee.Message);
            }

            try
            {

                 result = Convert.ToInt32(s5);

                 Console.WriteLine("OutPut5:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut5:" + ee.Message);
            }

            Console.WriteLine();
            Console.WriteLine("--------TryParse Methods Outputs-------------");
            try
            {

                status = int.TryParse(s1, out result);
                Console.WriteLine("OutPut1:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut1:" + ee.Message);
            }
            try
            {

                status = int.TryParse(s2, out result);
                Console.WriteLine("OutPut2:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut2:" + ee.Message);
            }
            try
            {

                status = int.TryParse(s3, out result);
                Console.WriteLine("OutPut3:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut3:" + ee.Message);
            }
            try
            {

                status = int.TryParse(s4, out result);
                Console.WriteLine("OutPut4:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut4:" + ee.Message);
            }

            try
            {

                status = int.TryParse(s5, out result);
                Console.WriteLine("OutPut5:" + result);
            }
            catch (Exception ee)
            {
                Console.WriteLine("OutPut5:" + ee.Message);
            }


            Console.Read();
        }
    }

1

পার্স () পদ্ধতিগুলি এমন শৈলীর সংখ্যা সরবরাহ করে যা রূপান্তর () এর জন্য ব্যবহার করা যায় না। উদাহরণ স্বরূপ:

int i;
bool b = int.TryParse( "123-",
           System.Globalization.NumberStyles.AllowTrailingSign,
           System.Globalization.CultureInfo.InvariantCulture,
           out i);

পেছনের চিহ্ন সহ সংখ্যাগুলি বিশ্লেষণ করবে যাতে i == -123
পিছনের চিহ্নটি ইআরপি সিস্টেমে জনপ্রিয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.