Int16::TryParse Method (String^, Int16%)


Converts the string representation of a number to its 16-bit signed integer equivalent. A return value indicates whether the conversion succeeded or failed.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

static bool TryParse(
	String^ s,
	[OutAttribute] short% result


Type: System::String^

A string containing a number to convert.

Type: System::Int16%

When this method returns, contains the 16-bit signed integer value equivalent to the number contained in s, if the conversion succeeded, or zero if the conversion failed. The conversion fails if the s parameter is null or String::Empty, is not of the correct format, or represents a number less than MinValue or greater than MaxValue. This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Return Value

Type: System::Boolean

true if s was converted successfully; otherwise, false.

The Int16::TryParse(String^, Int16%) method differs from the Int16::Parse(String^) method by returning a Boolean value that indicates whether the parse operation succeeded instead of returning the parsed Int16 value. It eliminates the need to use exception handling to test for a FormatException in the event that s is invalid and cannot be successfully parsed.

The s parameter should be the string representation of a number in the form:


Items in square brackets ([ and ]) are optional. The following table describes each element.




Optional white space.


An optional sign.


A sequence of digits ranging from 0 to 9.

The s parameter is interpreted using the NumberStyles::Integer style. In addition to the decimal digits, only leading and trailing spaces together with a leading sign are allowed. To explicitly define the style elements together with the culture-specific formatting information that can be present in s, use the Int16::TryParse(String^, NumberStyles, IFormatProvider^, Int16%) method.

The s parameter is parsed using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. For more information, see CurrentInfo.

This overload of the TryParse method interprets all digits in the s parameter as decimal digits. To parse the string representation of a hexadecimal number, call the Int16::TryParse(String^, NumberStyles, IFormatProvider^, Int16%) overload.

The following example calls the Int16::TryParse(String^, Int16%)method with a number of different string values.

No code example is currently available or this language may not be supported.

Some of the strings that the TryParse(String^, Int16%) method is unable to convert in this example are:

  • "9432.0". The conversion fails because the string cannot contain a decimal separator; it must contain integral digits only.

  • "16,667". The conversion fails because the string cannot contain group separators; it must contain integral digits only.

  • "(100)". The conversion fails because the string cannot contain a negative sign other than the one defined by the current culture's NumberFormatInfo::NegativeSign and NumberFormatInfo::NumberNegativePattern properties.

  • "01FA". The conversion fails because the string cannot contain hexadecimal digits; it must contain decimal digits only.

Universal Windows Platform
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top