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.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
- Type: System.String
A String containing a number to convert.
Return Value
Type: System.SByteAn 8-bit signed integer equivalent to the value of value.
-or-
Zero if value is null.
| Exception | Condition |
|---|---|
| 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 */