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.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- s
-
Type:
System::String^
A string containing a number to convert.
- result
-
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.
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:
[ws][sign]digits[ws]
Items in square brackets ([ and ]) are optional. The following table describes each element.
Element | Description |
|---|---|
ws | Optional white space. |
sign | An optional sign. |
digits | 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.
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.
Available since 8
.NET Framework
Available since 2.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1