Convert.ToChar Method (String, IFormatProvider)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Converts the first character of a String to a Unicode character using specified culture-specific formatting information.
Assembly: mscorlib (in mscorlib.dll)
'Declaration Public Shared Function ToChar ( _ value As String, _ provider As IFormatProvider _ ) As Char
Parameters
- value
- Type: System.String
A String of length 1 or Nothing.
- provider
- Type: System.IFormatProvider
(Reserved) An IFormatProvider interface implementation that supplies culture-specific formatting information.
Return Value
Type: System.CharThe Unicode character equivalent to the first and only character in value.
| Exception | Condition |
|---|---|
| ArgumentNullException | value is Nothing. |
| FormatException | The length of value is not 1. |
value must be a string that contains a single character.
provider is ignored; it does not participate in this operation.
If you prefer not to handle an exception if the conversion fails, you can call the Char.TryParse method instead. It returns a Boolean value that indicates whether the conversion succeeded or failed.
The following code example converts a String representation of a Char value with the ToChar method, using an IFormatProvider object that displays the type of the format provider for which it is called. The example shows that the format provider is not referenced.
' Example of selected Convert.ToXXX( String, IFormatProvider ) methods. Imports System.Globalization Public Class DummyProvider Implements IFormatProvider ' Normally, GetFormat returns an object of the requested type ' (usually itself) if it is able; otherwise, it returns Nothing. Public Function GetFormat(ByVal argType As Type) As Object _ Implements IFormatProvider.GetFormat ' Here, GetFormat displays the name of argType, after removing ' the namespace information. GetFormat always returns Nothing. Dim argStr As String = argType.ToString() If argStr = "" Then argStr = "Empty" argStr = argStr.Substring(argStr.LastIndexOf("."c) + 1) outputBlock.Text &= String.Format("{0,-20}", argStr) Return Nothing End Function End Class Module Example Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock) ' Create an instance of IFormatProvider. Dim provider As New DummyProvider() Dim format As String = "{0,-17}{1,-17}{2}" ' Convert these values using DummyProvider. Dim Int32A As String = "-252645135" Dim DoubleA As String = "61680.3855" Dim DayTimeA As String = "2001/9/11 13:45" Dim BoolA As String = "True" Dim StringA As String = "Qwerty" Dim CharA As String = "$" outputBlock.Text &= "This example of selected " & _ "Convert.ToXXX( String, IFormatProvider ) " & vbCrLf & _ "methods generates the following output. The example " & _ "displays the " & vbCrLf & "provider type if the " & _ "IFormatProvider is called." & vbCrLf outputBlock.Text &= vbCrLf & _ "Note: For the ToBoolean, ToString, and ToChar " & _ "methods, the " & vbCrLf & "IFormatProvider object " & _ "is not referenced." & vbCrLf ' The format provider is called for the following conversions. outputBlock.Text &= vbCrLf outputBlock.Text &= String.Format(format, "ToInt32", Int32A, _ Convert.ToInt32(Int32A, provider)) & vbCrLf outputBlock.Text &= String.Format(format, "ToDouble", DoubleA, _ Convert.ToDouble(DoubleA, provider)) & vbCrLf outputBlock.Text &= String.Format(format, "ToDateTime", DayTimeA, _ Convert.ToDateTime(DayTimeA, provider)) & vbCrLf ' The format provider is not called for these conversions. outputBlock.Text &= vbCrLf outputBlock.Text &= String.Format(format, "ToBoolean", BoolA, _ Convert.ToBoolean(BoolA, provider)) & vbCrLf outputBlock.Text &= String.Format(format, "ToString", StringA, _ Convert.ToString(StringA, provider)) & vbCrLf outputBlock.Text &= String.Format(format, "ToChar", CharA, _ Convert.ToChar(CharA, provider)) & vbCrLf End Sub End Module ' This example of selected Convert.ToXXX( String, IFormatProvider ) ' methods generates the following output. The example displays the ' provider type if the IFormatProvider is called. ' ' Note: For the ToBoolean, ToString, and ToChar methods, the ' IFormatProvider object is not referenced. ' ' NumberFormatInfo ToInt32 -252645135 -252645135 ' NumberFormatInfo ToDouble 61680.3855 61680.3855 ' DateTimeFormatInfo ToDateTime 2001/9/11 13:45 9/11/2001 1:45:00 PM ' ' ToBoolean True True ' ToString Qwerty Qwerty ' ToChar $ $