Int16.TryParse Method (String, Int16%)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
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)
Syntax
'Declaration
Public Shared Function TryParse ( _
s As String, _
<OutAttribute> ByRef result As Short _
) As Boolean
public static bool TryParse(
string s,
out short result
)
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 nulla null reference (Nothing in Visual Basic), is not of the correct format, or represents a number less than MinValue or greater than MaxValue. This parameter is passed uninitialized.
Return Value
Type: System.Boolean
true if s was converted successfully; otherwise, false.
Remarks
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 byte value's 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.
Examples
The following example calls the Int16.TryParse(String, Int16%)method with a number of different string values.
Module Example
Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
TryToParse(outputBlock, Nothing)
TryToParse(outputBlock, "16051")
TryToParse(outputBlock, "9432.0")
TryToParse(outputBlock, "16,667")
TryToParse(outputBlock, " -322 ")
TryToParse(outputBlock, "+4302")
TryToParse(outputBlock, "(100)")
TryToParse(outputBlock, "01FA")
End Sub
Private Sub TryToParse(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal value As String)
Dim number As Int16
Dim result As Boolean = Int16.TryParse(value, number)
If result Then
outputBlock.Text += String.Format("Converted '{0}' to {1}.", value, number) & vbCrLf
Else
If value Is Nothing Then value = ""
outputBlock.Text += String.Format("Attempted conversion of '{0}' failed.", value) & vbCrLf
End If
End Sub
End Module
' The example displays the following output:
' Attempted conversion of '' failed.
' Converted '16051' to 16051.
' Attempted conversion of '9432.0' failed.
' Attempted conversion of '16,667' failed.
' Converted ' -322 ' to -322.
' Converted '+4302' to 4302.
' Attempted conversion of '(100)' failed.
' Attempted conversion of '01FA' failed.
using System;
public class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
TryToParse(outputBlock, null);
TryToParse(outputBlock, "16051");
TryToParse(outputBlock, "9432.0");
TryToParse(outputBlock, "16,667");
TryToParse(outputBlock, " -322 ");
TryToParse(outputBlock, "+4302");
TryToParse(outputBlock, "(100);");
TryToParse(outputBlock, "01FA");
}
private static void TryToParse(System.Windows.Controls.TextBlock outputBlock, string value)
{
short number;
bool result = Int16.TryParse(value, out number);
if (result)
{
outputBlock.Text += String.Format("Converted '{0}' to {1}.", value, number) + "\n";
}
else
{
if (value == null) value = "";
outputBlock.Text += String.Format("Attempted conversion of '{0}' failed.", value) + "\n";
}
}
}
// The example displays the following output:
// Attempted conversion of '' failed.
// Converted '16051' to 16051.
// Attempted conversion of '9432.0' failed.
// Attempted conversion of '16,667' failed.
// Converted ' -322 ' to -322.
// Converted '+4302' to 4302.
// Attempted conversion of '(100)' failed.
// Attempted conversion of '01FA' failed.
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
See Also