UInt16.TryParse Method (String, UInt16%)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Updated: August 2009
Tries to convert the string representation of a number to its 16-bit unsigned integer equivalent. A return value indicates whether the conversion succeeded or failed.
This API is not CLS-compliant. The CLS-compliant alternative is TryParse(String, Int32%).
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<CLSCompliantAttribute(False)> _
Public Shared Function TryParse ( _
s As String, _
<OutAttribute> ByRef result As UShort _
) As Boolean
[CLSCompliantAttribute(false)]
public static bool TryParse(
string s,
out ushort result
)
Parameters
- s
Type: System.String
A string representing the number to convert.
- result
Type: System.UInt16%
When this method returns, contains the 16-bit unsigned integer value that is 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 in the correct format, or represents a number less than UInt16.MinValue or greater than UInt16.MaxValue. This parameter is passed uninitialized.
Return Value
Type: System.Boolean
true if s was converted successfully; otherwise, false.
Remarks
The TryParse(String, UInt16%) method is like the Parse(String) method, except that it does not throw an exception if the conversion fails. This method eliminates the need to use exception handling to test for a FormatException if s is invalid and cannot be successfully parsed.
The s parameter should be the string representation of a decimal number in the following form:
[ws][sign]digits[ws]
Elements in square brackets ([ and ]) are optional. The following table describes each element.
Element |
Description |
---|---|
ws |
Optional white space. |
sign |
An optional sign. Valid sign characters are determined by the NumberFormatInfo.NegativeSign and NumberFormatInfo.PositiveSign properties of the current culture. |
digits |
A sequence of decimal digits ranging from 0 to 9. |
Note: |
---|
The string specified by the s parameter cannot contain any group separators or decimal separator, and it cannot have a decimal portion. |
The s parameter is interpreted by using the NumberStyles.Integer style. In addition to the decimal digits, only leading and trailing spaces with a leading sign are allowed. To explicitly define the style elements with the culture-specific formatting information that can be present in s, call the TryParse(String, NumberStyles, IFormatProvider, UInt16%) method.
The s parameter is parsed by using the formatting information in a NumberFormatInfo object for the current system culture. For more information, see NumberFormatInfo.CurrentInfo.
This overload interprets all digits in the s parameter as decimal digits. To parse the string representation of a hexadecimal number, call the TryParse(String, NumberStyles, IFormatProvider, UInt16%) overload instead.
Examples
The following example calls the TryParse(String, UInt16%) method once for each element in a string array.
Dim numericStrings() As String = {"1293.8", "+1671.7", "28347.", _
" 33113684 ", "(0)", "-0", "+1293617", _
"18-", "119870", "31,024", " 3127094 ", _
"0070000"}
Dim number As UInteger
For Each numericString As String In numericStrings
If UInt32.TryParse(numericString, number) Then
outputBlock.Text += String.Format("Converted '{0}' to {1}.", numericString, number) & vbCrLf
Else
outputBlock.Text += String.Format("Cannot convert '{0}' to a UInt32.", numericString) & vbCrLf
End If
Next
' The example displays the following output:
' Cannot convert '1293.8' to a UInt32.
' Cannot convert '+1671.7' to a UInt32.
' Cannot convert '28347.' to a UInt32.
' Converted ' 33113684 ' to 33113684.
' Cannot convert '(0)' to a UInt32.
' Converted '-0' to 0.
' Converted '+1293617' to 1293617.
' Cannot convert '18-' to a UInt32.
' Converted '119870' to 119870.
' Cannot convert '31,024' to a UInt32.
' Converted ' 3127094 ' to 3127094.
' Converted '0070000' to 70000.
string[] numericStrings = { "1293.8", "+1671.7", "28347.",
" 33113684 ", "(0)", "-0", "+1293617",
"18-", "119870", "31,024", " 3127094 ",
"0070000" };
uint number;
foreach (string numericString in numericStrings)
{
if (UInt32.TryParse(numericString, out number))
outputBlock.Text += String.Format("Converted '{0}' to {1}.", numericString, number) + "\n";
else
outputBlock.Text += String.Format("Cannot convert '{0}' to a UInt32.", numericString) + "\n";
}
// The example displays the following output:
// Cannot convert '1293.8' to a UInt32.
// Cannot convert '+1671.7' to a UInt32.
// Cannot convert '28347.' to a UInt32.
// Converted ' 33113684 ' to 33113684.
// Cannot convert '(0)' to a UInt32.
// Converted '-0' to 0.
// Converted '+1293617' to 1293617.
// Cannot convert '18-' to a UInt32.
// Converted '119870' to 119870.
// Cannot convert '31,024' to a UInt32.
// Converted ' 3127094 ' to 3127094.
// Converted '0070000' to 70000.
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
Reference
Other Resources
Change History
Date |
History |
Reason |
---|---|---|
August 2009 |
Revised extensively. |
Information enhancement. |