Convert.ToSByte Method (String)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
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)
Syntax
'Declaration
<CLSCompliantAttribute(False)> _
Public Shared Function ToSByte ( _
value As String _
) As SByte
[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 nulla null reference (Nothing in Visual Basic).
Exceptions
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. |
Remarks
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.
Examples
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.
Imports System.Globalization
Module Example
Dim format As String = "{0,-20}{1,-20}{2}"
' Get the exception type name; remove the namespace prefix.
Function GetExceptionType(ByVal ex As Exception) As String
Dim exceptionType As String = ex.GetType().ToString()
Return exceptionType.Substring( _
exceptionType.LastIndexOf("."c) + 1)
End Function
Sub ConvertToSByte(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal numericStr As String, _
ByVal provider As IFormatProvider)
Dim defaultValue As Object
Dim providerValue As Object
' Convert numericStr to SByte without a format provider.
Try
defaultValue = Convert.ToSByte(numericStr)
Catch ex As Exception
defaultValue = GetExceptionType(ex)
End Try
' Convert numericStr to SByte with a format provider.
Try
providerValue = Convert.ToSByte(numericStr, provider)
Catch ex As Exception
providerValue = GetExceptionType(ex)
End Try
outputBlock.Text &= String.Format(format, numericStr, _
defaultValue, providerValue) & vbCrLf
End Sub
Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
' Create a NumberFormatInfo object and set several of its
' properties that apply to numbers.
Dim provider As NumberFormatInfo = 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" & vbCrLf & _
" Convert.ToSByte( String ) and " & vbCrLf & _
" Convert.ToSByte( String, IFormatProvider ) " & _
vbCrLf & "generates the following output. It " & _
"converts several strings to " & vbCrLf & "SByte " & _
"values, using default formatting " & _
"or a NumberFormatInfo object." & vbCrLf) & vbCrLf
outputBlock.Text &= String.Format(format, "String to convert", _
"Default/exception", "Provider/exception") & vbCrLf
outputBlock.Text &= String.Format(format, "-----------------", _
"-----------------", "------------------") & vbCrLf
' 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)
End Sub
End Module
' 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
// 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
*/
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.