Поделиться через


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

  • 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.