ToSByte Method (String)

Convert.ToSByte Method (String)

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Converts the specified String representation of a number to an equivalent 8-bit signed integer.

This API is not CLS-compliant. 

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

[CLSCompliantAttribute(false)]
public static sbyte ToSByte(
	string value
)

Parameters

value
Type: System.String
A String containing a number to convert.

Return Value

Type: System.SByte
An 8-bit signed integer equivalent to the value of value.
-or-
Zero if value is null.

ExceptionCondition
FormatException

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

OverflowException

value represents a number less than MinValue or greater than MaxValue.

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

The following code example converts String representations of SByte (signed byte) values with the ToSByte method, using default formatting.


// Example of the Convert.ToSByte( string ) and 
// Convert.ToSByte( string, IFormatProvider ) methods.
using System;
using System.Globalization;

class Example
{
   static string format = "{0,-20}{1,-20}{2}";

   // Get the exception type name; remove the namespace prefix.
   static string GetExceptionType(Exception ex)
   {
      string exceptionType = ex.GetType().ToString();
      return exceptionType.Substring(
          exceptionType.LastIndexOf('.') + 1);
   }

   static void ConvertToSByte(System.Windows.Controls.TextBlock outputBlock, string numericStr,
       IFormatProvider provider)
   {
      object defaultValue;
      object providerValue;

      // Convert numericStr to SByte without a format provider.
      try
      {
         defaultValue = Convert.ToSByte(numericStr);
      }
      catch (Exception ex)
      {
         defaultValue = GetExceptionType(ex);
      }

      // Convert numericStr to SByte with a format provider.
      try
      {
         providerValue = Convert.ToSByte(numericStr, provider);
      }
      catch (Exception ex)
      {
         providerValue = GetExceptionType(ex);
      }

      outputBlock.Text += String.Format(format, numericStr,
          defaultValue, providerValue) + "\n";
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Create a NumberFormatInfo object and set several of its
      // properties that apply to numbers.
      NumberFormatInfo provider = new NumberFormatInfo();

      // These properties affect the conversion.
      provider.NegativeSign = "neg ";
      provider.PositiveSign = "pos ";

      // These properties do not affect the conversion.
      // The input string cannot have decimal and group separators.
      provider.NumberDecimalSeparator = ".";
      provider.NumberNegativePattern = 0;

      outputBlock.Text += String.Format("This example of\n" +
          "  Convert.ToSByte( string ) and \n" +
          "  Convert.ToSByte( string, IFormatProvider ) " +
          "\ngenerates the following output. It converts " +
          "several strings to \nSByte values, using " +
          "default formatting or a NumberFormatInfo object.\n") + "\n";
      outputBlock.Text += String.Format(format, "String to convert",
          "Default/exception", "Provider/exception") + "\n";
      outputBlock.Text += String.Format(format, "-----------------",
          "-----------------", "------------------") + "\n";

      // Convert strings, with and without an IFormatProvider.
      ConvertToSByte(outputBlock, "123", provider);
      ConvertToSByte(outputBlock, "+123", provider);
      ConvertToSByte(outputBlock, "pos 123", provider);
      ConvertToSByte(outputBlock, "-123", provider);
      ConvertToSByte(outputBlock, "neg 123", provider);
      ConvertToSByte(outputBlock, "123.", provider);
      ConvertToSByte(outputBlock, "(123)", provider);
      ConvertToSByte(outputBlock, "128", provider);
      ConvertToSByte(outputBlock, "-129", provider);
   }
}

/*
This example of
  Convert.ToSByte( string ) and
  Convert.ToSByte( string, IFormatProvider )
generates the following output. It converts several strings to
SByte values, using default formatting or a NumberFormatInfo object.

String to convert   Default/exception   Provider/exception
-----------------   -----------------   ------------------
123                 123                 123
+123                123                 FormatException
pos 123             FormatException     123
-123                -123                FormatException
neg 123             FormatException     -123
123.                FormatException     FormatException
(123)               FormatException     FormatException
128                 OverflowException   OverflowException
-129                OverflowException   FormatException
*/


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Show:
© 2017 Microsoft