You must Sign In to post a response.
  • Category: ASP.NET

    What is the difference between try.parse vs Int32.parse vs convert.toint

    This is an interview question which held recently the Interviewer had put this question in this way why we have Try.parse already we have Int32.parse and convert.Tostring or convert.ToInt so why we need to have Try.parse. What is the difference between all these three.Knowledgeable members please respond to this question.
  • #766904

    Hi sriram,

    The reason behind this is handling exceptions that is either null or unformated objects, we can see the difference now.

    Int32.parse(string) :

    if you are pass the string value as int it will give exact output, but if you give the string value as double or null or over the range then it will throw exceptions.

    Convert.ToInt32(string):

    If you are pass the string value as int or null it will give the result without exception where as if you provide the string value as double or overflow the range then it will throw exception.

    Int32.TryParse(string, out int):

    In this case it parse the result into 32 bit signed integer value, if it is success then it will return true or else it will return false, where as in other above 2 cases it throws exception.

    If you want to know more details about this refer below link http://www.codeproject.com/Articles/32885/Difference-Between-Int-Parse-Convert-ToInt-and


    --------------------------------------------------------------------------------
    Give respect to your work, Instead of trying to impress your boss.

    N@veen
    Blog : http://naveens-dotnet.blogspot.in/

  • #766908
    In Try.parse can we only convert string to another data type or any other datataype conversion is also possible.
    SRI RAMA PHANI BHUSHAN KAMBHAMPATI

  • #766912
    Hi Sriram,

    We can convert string to other datatypes, we can't convert other datatypes,

    syntax :


    int32.TryParse(string s, out int result);
    int32.TryParse(string s, System.Globalization.NumberStyles style, IFormatProvider provider, out int result);


    If that is in convertion of Int, if you want to convert other formats like double or some other in the above syntax instead of int32 you can use that particular format.

    --------------------------------------------------------------------------------
    Give respect to your work, Instead of trying to impress your boss.

    N@veen
    Blog : http://naveens-dotnet.blogspot.in/

  • #766913
    when we use TryParse we do not know the input datatype, TryParse return the bool value and check if the datatype is fitted
    The .NET Framework design guidelines recommend using the Try methods. Avoiding exceptions is usually a good idea.
    'Convert' will directly convert the object to specified datatype, rather than checking its datatype.
    so 'Convert' is always faster than 'tryParse
    Convert.ToDouble will throw an exception on non-numbers
    Double.Parse will throw an exception on non-numbers or null
    Double.TryParse will return false or 0 on any of the above without generating an exception.'

    Thanks
    Koolprasd2003
    Editor, DotNetSpider MVM
    Microsoft MVP 2014 [ASP.NET/IIS]

  • #766917
    Hi,
    Int32.TryParse(string szInput, Out varIntOutput)
    This converts string to integer variable passed as out parameter and returns true if parsed successfully. If input string is null or non interger value, then the out variable has 0 value and it returns false. I think this is better than other.

    Int32.Parse(string szInput)
    It converts string to integer. But if input string is null or non interger value then it throws exception.

    Convert.ToInt32() converts the string to integer but throws exception when the string is not an integer and internally it invokes Int32.TryParse() so it is bit slow than other methods.


Sign In to post your comments