This documentation is archived and is not being maintained.

Convert.ToUInt16 Method (String)

Converts the specified string representation of a number to an equivalent 16-bit unsigned integer.

This API is not CLS-compliant. 

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

public static ushort ToUInt16(
	string value


Type: System.String
A string that contains the number to convert.

Return Value

Type: System.UInt16
A 16-bit unsigned integer that is equivalent to the number in value, or 0 (zero) if value is null.


value does not consist of an optional sign followed by a sequence of digits (0 through 9).


value represents a number that is less than UInt16.MinValue or greater than UInt16.MaxValue.

Using the ToUInt16 method is equivalent to passing value to the UInt16.Parse(String) method. value is interpreted by using the formatting conventions of the current thread culture.

If you prefer not to handle an exception if the conversion fails, you can call the UInt16.TryParse method instead. It returns a Boolean value that indicates whether the conversion succeeded or failed.

The following example attempts to convert each element in a numeric string array to a 16-bit unsigned integer.

string[] values = { "1603", "1,603", "one", "1.6e03", "1.2e-02", 
                    "-1326", "1074122" };
ushort result;

foreach (string value in values)
   try {
      result = Convert.ToUInt16(value);
      Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                        value.GetType().Name, value,
                        result.GetType().Name, result);
   catch (FormatException) {
      Console.WriteLine("The {0} value {1} is not in a recognizable format.",
                        value.GetType().Name, value);
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the UInt16 type.", value);
// The example displays the following output:
//    Converted the String value '1603' to the UInt16 value 1603.
//    The String value 1,603 is not in a recognizable format.
//    The String value one is not in a recognizable format.
//    The String value 1.6e03 is not in a recognizable format.
//    The String value 1.2e-02 is not in a recognizable format.
//    -1326 is outside the range of the UInt16 type.
//    1074122 is outside the range of the UInt16 type.      

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.