Char Estrutura
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um caractere como uma unidade de código UTF-16.
public value class char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
public value class char : IComparable<char>, IConvertible, IEquatable<char>, IParsable<char>, ISpanParsable<char>, IUtf8SpanParsable<char>, System::Numerics::IAdditionOperators<char, char, char>, System::Numerics::IAdditiveIdentity<char, char>, System::Numerics::IBinaryInteger<char>, System::Numerics::IBinaryNumber<char>, System::Numerics::IBitwiseOperators<char, char, char>, System::Numerics::IComparisonOperators<char, char, bool>, System::Numerics::IDecrementOperators<char>, System::Numerics::IDivisionOperators<char, char, char>, System::Numerics::IEqualityOperators<char, char, bool>, System::Numerics::IIncrementOperators<char>, System::Numerics::IMinMaxValue<char>, System::Numerics::IModulusOperators<char, char, char>, System::Numerics::IMultiplicativeIdentity<char, char>, System::Numerics::IMultiplyOperators<char, char, char>, System::Numerics::INumber<char>, System::Numerics::INumberBase<char>, System::Numerics::IShiftOperators<char, int, char>, System::Numerics::ISubtractionOperators<char, char, char>, System::Numerics::IUnaryNegationOperators<char, char>, System::Numerics::IUnaryPlusOperators<char, char>, System::Numerics::IUnsignedNumber<char>
public value class char : IComparable, IComparable<char>, IConvertible, IEquatable<char>, ISpanFormattable
public value class char : IComparable<char>, IConvertible, IEquatable<char>, IParsable<char>, ISpanParsable<char>, System::Numerics::IAdditionOperators<char, char, char>, System::Numerics::IAdditiveIdentity<char, char>, System::Numerics::IBinaryInteger<char>, System::Numerics::IBinaryNumber<char>, System::Numerics::IBitwiseOperators<char, char, char>, System::Numerics::IComparisonOperators<char, char, bool>, System::Numerics::IDecrementOperators<char>, System::Numerics::IDivisionOperators<char, char, char>, System::Numerics::IEqualityOperators<char, char, bool>, System::Numerics::IIncrementOperators<char>, System::Numerics::IMinMaxValue<char>, System::Numerics::IModulusOperators<char, char, char>, System::Numerics::IMultiplicativeIdentity<char, char>, System::Numerics::IMultiplyOperators<char, char, char>, System::Numerics::INumber<char>, System::Numerics::INumberBase<char>, System::Numerics::IShiftOperators<char, int, char>, System::Numerics::ISubtractionOperators<char, char, char>, System::Numerics::IUnaryNegationOperators<char, char>, System::Numerics::IUnaryPlusOperators<char, char>, System::Numerics::IUnsignedNumber<char>
public value class char : IComparable, IConvertible
public value class char : IComparable, IComparable<char>, IEquatable<char>
public struct Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
public readonly struct Char : IComparable<char>, IConvertible, IEquatable<char>, IParsable<char>, ISpanParsable<char>, IUtf8SpanParsable<char>, System.Numerics.IAdditionOperators<char,char,char>, System.Numerics.IAdditiveIdentity<char,char>, System.Numerics.IBinaryInteger<char>, System.Numerics.IBinaryNumber<char>, System.Numerics.IBitwiseOperators<char,char,char>, System.Numerics.IComparisonOperators<char,char,bool>, System.Numerics.IDecrementOperators<char>, System.Numerics.IDivisionOperators<char,char,char>, System.Numerics.IEqualityOperators<char,char,bool>, System.Numerics.IIncrementOperators<char>, System.Numerics.IMinMaxValue<char>, System.Numerics.IModulusOperators<char,char,char>, System.Numerics.IMultiplicativeIdentity<char,char>, System.Numerics.IMultiplyOperators<char,char,char>, System.Numerics.INumber<char>, System.Numerics.INumberBase<char>, System.Numerics.IShiftOperators<char,int,char>, System.Numerics.ISubtractionOperators<char,char,char>, System.Numerics.IUnaryNegationOperators<char,char>, System.Numerics.IUnaryPlusOperators<char,char>, System.Numerics.IUnsignedNumber<char>
public readonly struct Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
public readonly struct Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>, ISpanFormattable
public readonly struct Char : IComparable<char>, IConvertible, IEquatable<char>, IParsable<char>, ISpanParsable<char>, System.Numerics.IAdditionOperators<char,char,char>, System.Numerics.IAdditiveIdentity<char,char>, System.Numerics.IBinaryInteger<char>, System.Numerics.IBinaryNumber<char>, System.Numerics.IBitwiseOperators<char,char,char>, System.Numerics.IComparisonOperators<char,char,bool>, System.Numerics.IDecrementOperators<char>, System.Numerics.IDivisionOperators<char,char,char>, System.Numerics.IEqualityOperators<char,char,bool>, System.Numerics.IIncrementOperators<char>, System.Numerics.IMinMaxValue<char>, System.Numerics.IModulusOperators<char,char,char>, System.Numerics.IMultiplicativeIdentity<char,char>, System.Numerics.IMultiplyOperators<char,char,char>, System.Numerics.INumber<char>, System.Numerics.INumberBase<char>, System.Numerics.IShiftOperators<char,int,char>, System.Numerics.ISubtractionOperators<char,char,char>, System.Numerics.IUnaryNegationOperators<char,char>, System.Numerics.IUnaryPlusOperators<char,char>, System.Numerics.IUnsignedNumber<char>
[System.Serializable]
public struct Char : IComparable, IConvertible
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
public struct Char : IComparable, IComparable<char>, IEquatable<char>
type char = struct
interface IConvertible
type char = struct
interface IConvertible
interface IFormattable
interface IParsable<char>
interface ISpanFormattable
interface ISpanParsable<char>
interface IUtf8SpanFormattable
interface IUtf8SpanParsable<char>
interface IAdditionOperators<char, char, char>
interface IAdditiveIdentity<char, char>
interface IBinaryInteger<char>
interface IBinaryNumber<char>
interface IBitwiseOperators<char, char, char>
interface IComparisonOperators<char, char, bool>
interface IEqualityOperators<char, char, bool>
interface IDecrementOperators<char>
interface IDivisionOperators<char, char, char>
interface IIncrementOperators<char>
interface IModulusOperators<char, char, char>
interface IMultiplicativeIdentity<char, char>
interface IMultiplyOperators<char, char, char>
interface INumber<char>
interface INumberBase<char>
interface ISubtractionOperators<char, char, char>
interface IUnaryNegationOperators<char, char>
interface IUnaryPlusOperators<char, char>
interface IShiftOperators<char, int, char>
interface IMinMaxValue<char>
interface IUnsignedNumber<char>
type char = struct
interface IConvertible
interface ISpanFormattable
interface IFormattable
type char = struct
interface IConvertible
interface IFormattable
interface IParsable<char>
interface ISpanFormattable
interface ISpanParsable<char>
interface IAdditionOperators<char, char, char>
interface IAdditiveIdentity<char, char>
interface IBinaryInteger<char>
interface IBinaryNumber<char>
interface IBitwiseOperators<char, char, char>
interface IComparisonOperators<char, char, bool>
interface IEqualityOperators<char, char, bool>
interface IDecrementOperators<char>
interface IDivisionOperators<char, char, char>
interface IIncrementOperators<char>
interface IModulusOperators<char, char, char>
interface IMultiplicativeIdentity<char, char>
interface IMultiplyOperators<char, char, char>
interface INumber<char>
interface INumberBase<char>
interface ISubtractionOperators<char, char, char>
interface IUnaryNegationOperators<char, char>
interface IUnaryPlusOperators<char, char>
interface IShiftOperators<char, int, char>
interface IMinMaxValue<char>
interface IUnsignedNumber<char>
type char = struct
interface IConvertible
interface IFormattable
interface IParsable<char>
interface ISpanFormattable
interface ISpanParsable<char>
interface IAdditionOperators<char, char, char>
interface IAdditiveIdentity<char, char>
interface IBinaryInteger<char>
interface IBinaryNumber<char>
interface IBitwiseOperators<char, char, char>
interface IComparisonOperators<char, char, bool>
interface IEqualityOperators<char, char, bool>
interface IDecrementOperators<char>
interface IDivisionOperators<char, char, char>
interface IIncrementOperators<char>
interface IModulusOperators<char, char, char>
interface IMultiplicativeIdentity<char, char>
interface IMultiplyOperators<char, char, char>
interface INumber<char>
interface INumberBase<char>
interface ISubtractionOperators<char, char, char>
interface IUnaryNegationOperators<char, char>
interface IUnaryPlusOperators<char, char>
interface IUtf8SpanFormattable
interface IUtf8SpanParsable<char>
interface IShiftOperators<char, int, char>
interface IMinMaxValue<char>
interface IUnsignedNumber<char>
[<System.Serializable>]
type char = struct
interface IConvertible
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type char = struct
interface IConvertible
type char = struct
Public Structure Char
Implements IComparable, IComparable(Of Char), IConvertible, IEquatable(Of Char)
Public Structure Char
Implements IAdditionOperators(Of Char, Char, Char), IAdditiveIdentity(Of Char, Char), IBinaryInteger(Of Char), IBinaryNumber(Of Char), IBitwiseOperators(Of Char, Char, Char), IComparable(Of Char), IComparisonOperators(Of Char, Char, Boolean), IConvertible, IDecrementOperators(Of Char), IDivisionOperators(Of Char, Char, Char), IEqualityOperators(Of Char, Char, Boolean), IEquatable(Of Char), IIncrementOperators(Of Char), IMinMaxValue(Of Char), IModulusOperators(Of Char, Char, Char), IMultiplicativeIdentity(Of Char, Char), IMultiplyOperators(Of Char, Char, Char), INumber(Of Char), INumberBase(Of Char), IParsable(Of Char), IShiftOperators(Of Char, Integer, Char), ISpanParsable(Of Char), ISubtractionOperators(Of Char, Char, Char), IUnaryNegationOperators(Of Char, Char), IUnaryPlusOperators(Of Char, Char), IUnsignedNumber(Of Char), IUtf8SpanParsable(Of Char)
Public Structure Char
Implements IComparable, IComparable(Of Char), IConvertible, IEquatable(Of Char), ISpanFormattable
Public Structure Char
Implements IAdditionOperators(Of Char, Char, Char), IAdditiveIdentity(Of Char, Char), IBinaryInteger(Of Char), IBinaryNumber(Of Char), IBitwiseOperators(Of Char, Char, Char), IComparable(Of Char), IComparisonOperators(Of Char, Char, Boolean), IConvertible, IDecrementOperators(Of Char), IDivisionOperators(Of Char, Char, Char), IEqualityOperators(Of Char, Char, Boolean), IEquatable(Of Char), IIncrementOperators(Of Char), IMinMaxValue(Of Char), IModulusOperators(Of Char, Char, Char), IMultiplicativeIdentity(Of Char, Char), IMultiplyOperators(Of Char, Char, Char), INumber(Of Char), INumberBase(Of Char), IParsable(Of Char), IShiftOperators(Of Char, Integer, Char), ISpanParsable(Of Char), ISubtractionOperators(Of Char, Char, Char), IUnaryNegationOperators(Of Char, Char), IUnaryPlusOperators(Of Char, Char), IUnsignedNumber(Of Char)
Public Structure Char
Implements IComparable, IConvertible
Public Structure Char
Implements IComparable, IComparable(Of Char), IEquatable(Of Char)
- Herança
- Atributos
- Implementações
-
IComparable IComparable<Char> IConvertible IEquatable<Char> IComparable<TSelf> IEquatable<TSelf> IFormattable IParsable<Char> IParsable<TSelf> ISpanFormattable ISpanParsable<Char> ISpanParsable<TSelf> IUtf8SpanFormattable IUtf8SpanParsable<Char> IUtf8SpanParsable<TSelf> IAdditionOperators<Char,Char,Char> IAdditionOperators<TSelf,TSelf,TSelf> IAdditiveIdentity<Char,Char> IAdditiveIdentity<TSelf,TSelf> IBinaryInteger<Char> IBinaryNumber<Char> IBinaryNumber<TSelf> IBitwiseOperators<Char,Char,Char> IBitwiseOperators<TSelf,TSelf,TSelf> IComparisonOperators<Char,Char,Boolean> IComparisonOperators<TSelf,TSelf,Boolean> IDecrementOperators<Char> IDecrementOperators<TSelf> IDivisionOperators<Char,Char,Char> IDivisionOperators<TSelf,TSelf,TSelf> IEqualityOperators<Char,Char,Boolean> IEqualityOperators<TSelf,TOther,TResult> IEqualityOperators<TSelf,TSelf,Boolean> IIncrementOperators<Char> IIncrementOperators<TSelf> IMinMaxValue<Char> IModulusOperators<Char,Char,Char> IModulusOperators<TSelf,TSelf,TSelf> IMultiplicativeIdentity<Char,Char> IMultiplicativeIdentity<TSelf,TSelf> IMultiplyOperators<Char,Char,Char> IMultiplyOperators<TSelf,TSelf,TSelf> INumber<Char> INumber<TSelf> INumberBase<Char> INumberBase<TSelf> IShiftOperators<Char,Int32,Char> IShiftOperators<TSelf,Int32,TSelf> ISubtractionOperators<Char,Char,Char> ISubtractionOperators<TSelf,TSelf,TSelf> IUnaryNegationOperators<Char,Char> IUnaryNegationOperators<TSelf,TSelf> IUnaryPlusOperators<Char,Char> IUnaryPlusOperators<TSelf,TSelf> IUnsignedNumber<Char>
Exemplos
O exemplo de código a seguir demonstra alguns dos métodos em Char.
using System;
public class CharStructureSample
{
public static void Main()
{
char chA = 'A';
char ch1 = '1';
string str = "test string";
Console.WriteLine(chA.CompareTo('B')); //----------- Output: "-1" (meaning 'A' is 1 less than 'B')
Console.WriteLine(chA.Equals('A')); //----------- Output: "True"
Console.WriteLine(Char.GetNumericValue(ch1)); //----------- Output: "1"
Console.WriteLine(Char.IsControl('\t')); //----------- Output: "True"
Console.WriteLine(Char.IsDigit(ch1)); //----------- Output: "True"
Console.WriteLine(Char.IsLetter(',')); //----------- Output: "False"
Console.WriteLine(Char.IsLower('u')); //----------- Output: "True"
Console.WriteLine(Char.IsNumber(ch1)); //----------- Output: "True"
Console.WriteLine(Char.IsPunctuation('.')); //----------- Output: "True"
Console.WriteLine(Char.IsSeparator(str, 4)); //----------- Output: "True"
Console.WriteLine(Char.IsSymbol('+')); //----------- Output: "True"
Console.WriteLine(Char.IsWhiteSpace(str, 4)); //----------- Output: "True"
Console.WriteLine(Char.Parse("S")); //----------- Output: "S"
Console.WriteLine(Char.ToLower('M')); //----------- Output: "m"
Console.WriteLine('x'.ToString()); //----------- Output: "x"
}
}
open System
let chA = 'A'
let ch1 = '1'
let str = "test string"
printfn $"{chA.CompareTo 'B'}" //----------- Output: "-1" (meaning 'A' is 1 less than 'B')
printfn $"{chA.Equals 'A'}" //----------- Output: "True"
printfn $"{Char.GetNumericValue ch1}" //----------- Output: "1"
printfn $"{Char.IsControl '\t'}" //----------- Output: "True"
printfn $"{Char.IsDigit ch1}" //----------- Output: "True"
printfn $"{Char.IsLetter ','}" //----------- Output: "False"
printfn $"{Char.IsLower 'u'}" //----------- Output: "True"
printfn $"{Char.IsNumber ch1}" //----------- Output: "True"
printfn $"{Char.IsPunctuation '.'}" //----------- Output: "True"
printfn $"{Char.IsSeparator(str, 4)}" //----------- Output: "True"
printfn $"{Char.IsSymbol '+'}" //----------- Output: "True"
printfn $"{Char.IsWhiteSpace(str, 4)}" //----------- Output: "True"
printfn $"""{Char.Parse "S"}""" //----------- Output: "S"
printfn $"{Char.ToLower 'M'}" //----------- Output: "m"
printfn $"{'x'}" //----------- Output: "x"
Module CharStructure
Public Sub Main()
Dim chA As Char
chA = "A"c
Dim ch1 As Char
ch1 = "1"c
Dim str As String
str = "test string"
Console.WriteLine(chA.CompareTo("B"c)) ' Output: "-1" (meaning 'A' is 1 less than 'B')
Console.WriteLine(chA.Equals("A"c)) ' Output: "True"
Console.WriteLine(Char.GetNumericValue(ch1)) ' Output: "1"
Console.WriteLine(Char.IsControl(Chr(9))) ' Output: "True"
Console.WriteLine(Char.IsDigit(ch1)) ' Output: "True"
Console.WriteLine(Char.IsLetter(","c)) ' Output: "False"
Console.WriteLine(Char.IsLower("u"c)) ' Output: "True"
Console.WriteLine(Char.IsNumber(ch1)) ' Output: "True"
Console.WriteLine(Char.IsPunctuation("."c)) ' Output: "True"
Console.WriteLine(Char.IsSeparator(str, 4)) ' Output: "True"
Console.WriteLine(Char.IsSymbol("+"c)) ' Output: "True"
Console.WriteLine(Char.IsWhiteSpace(str, 4)) ' Output: "True"
Console.WriteLine(Char.Parse("S")) ' Output: "S"
Console.WriteLine(Char.ToLower("M"c)) ' Output: "m"
Console.WriteLine("x"c.ToString()) ' Output: "x"
End Sub
End Module
Comentários
A estrutura Char representa pontos de código Unicode usando a codificação UTF-16. O valor de um objeto Char é seu valor numérico (ordinal) de 16 bits.
Se você não estiver familiarizado com Unicode, valores escalares, pontos de código, pares alternativos, UTF-16 e o tipo Rune, consulte Introdução à codificação de caracteres no .NET.
Este artigo examina a relação entre um objeto Char e um caractere e discute algumas tarefas comuns executadas com Char instâncias. Recomendamos que você considere o tipo de Rune, introduzido no .NET Core 3.0, como uma alternativa para Char para executar algumas dessas tarefas.
Objetos Char, caracteres Unicode e cadeias de caracteres
Um objeto String é uma coleção sequencial de estruturas Char que representa uma cadeia de caracteres de texto. A maioria dos caracteres Unicode pode ser representada por um único objeto Char, mas um caractere codificado como um caractere base, par substituto e/ou combinação de sequência de caracteres é representado por vários objetos Char. Por esse motivo, uma estrutura Char em um objeto String não é necessariamente equivalente a um único caractere Unicode.
Várias unidades de código de 16 bits são usadas para representar caracteres Unicode únicos nos seguintes casos:
Glifos, que podem consistir em um único caractere ou de um caractere base seguido por um ou mais caracteres de combinação. Por exemplo, o caractere ä é representado por um objeto Char cuja unidade de código é U+0061 seguida por um objeto Char cuja unidade de código é U+0308. (O caractere ä também pode ser definido por um único objeto Char que tem uma unidade de código de U+00E4.) O exemplo a seguir ilustra que o caractere ä consiste em dois objetos Char.
using System; using System.IO; public class Example1 { public static void Main() { StreamWriter sw = new StreamWriter("chars1.txt"); char[] chars = [ '\u0061', '\u0308' ]; string strng = new String(chars); sw.WriteLine(strng); sw.Close(); } } // The example produces the following output: // äopen System open System.IO let sw = new StreamWriter("chars1.txt") let chars = [| '\u0061'; '\u0308' |] let string = String chars sw.WriteLine string sw.Close() // The example produces the following output: // äImports System.IO Module Example2 Public Sub Main() Dim sw As New StreamWriter("chars1.txt") Dim chars() As Char = {ChrW(&H61), ChrW(&H308)} Dim strng As New String(chars) sw.WriteLine(strng) sw.Close() End Sub End Module ' The example produces the following output: ' äCaracteres fora do Plano Multilíngue Básico Unicode (BMP). O Unicode dá suporte a dezesseis planos além do BMP, que representa o plano 0. Um ponto de código Unicode é representado em UTF-32 por um valor de 21 bits que inclui o plano. Por exemplo, U+1D160 representa o caractere MUSICAL SYMBOL EIGHT NOTE. Como a codificação UTF-16 tem apenas 16 bits, os caracteres fora do BMP são representados por pares alternativos em UTF-16. O exemplo a seguir ilustra que o equivalente UTF-32 de U+1D160, o caractere DE REFERÊNCIA DE SÍMBOLO MUSICAL OITAVO, é U+D834 U+DD60. U+D834 é o substituto superior; os substitutos altos variam de U+D800 a U+DBFF. U+DD60 é o substituto baixo; os substitutos baixos variam de U+DC00 a U+DFFF.
using System; using System.IO; public class Example3 { public static void Main() { StreamWriter sw = new StreamWriter(@".\chars2.txt"); int utf32 = 0x1D160; string surrogate = Char.ConvertFromUtf32(utf32); sw.WriteLine($"U+{utf32:X6} UTF-32 = {surrogate} ({ShowCodePoints(surrogate)}) UTF-16"); sw.Close(); } private static string ShowCodePoints(string value) { string retval = null; foreach (var ch in value) retval += $"U+{Convert.ToUInt16(ch):X4} "; return retval.Trim(); } } // The example produces the following output: // U+01D160 UTF-32 = ð (U+D834 U+DD60) UTF-16open System open System.IO let showCodePoints (value: char seq) = let str = value |> Seq.map (fun ch -> $"U+{Convert.ToUInt16 ch:X4}") |> String.concat "" str.Trim() let sw = new StreamWriter(@".\chars2.txt") let utf32 = 0x1D160 let surrogate = Char.ConvertFromUtf32 utf32 sw.WriteLine $"U+{utf32:X6} UTF-32 = {surrogate} ({showCodePoints surrogate}) UTF-16" sw.Close() // The example produces the following output: // U+01D160 UTF-32 = ð (U+D834 U+DD60) UTF-16Imports System.IO Module Example4 Public Sub Main() Dim sw As New StreamWriter(".\chars2.txt") Dim utf32 As Integer = &H1D160 Dim surrogate As String = Char.ConvertFromUtf32(utf32) sw.WriteLine("U+{0:X6} UTF-32 = {1} ({2}) UTF-16", utf32, surrogate, ShowCodePoints(surrogate)) sw.Close() End Sub Private Function ShowCodePoints(value As String) As String Dim retval As String = Nothing For Each ch In value retval += String.Format("U+{0:X4} ", Convert.ToUInt16(ch)) Next Return retval.Trim() End Function End Module ' The example produces the following output: ' U+01D160 UTF-32 = ð (U+D834 U+DD60) UTF-16
Caracteres e categorias de caracteres
Cada caractere Unicode ou par alternativo válido pertence a uma categoria Unicode. No .NET, as categorias Unicode são representadas por membros da enumeração UnicodeCategory e incluem valores como UnicodeCategory.CurrencySymbol, UnicodeCategory.LowercaseLettere UnicodeCategory.SpaceSeparator, por exemplo.
Para determinar a categoria Unicode de um caractere, chame o método GetUnicodeCategory. Por exemplo, o exemplo a seguir chama o GetUnicodeCategory para exibir a categoria Unicode de cada caractere em uma cadeia de caracteres. O exemplo funciona corretamente somente se não houver pares alternativos na instância String.
using System;
using System.Globalization;
class Example
{
public static void Main()
{
// Define a string with a variety of character categories.
String s = "The red car drove down the long, narrow, secluded road.";
// Determine the category of each character.
foreach (var ch in s)
Console.WriteLine($"'{ch}': {Char.GetUnicodeCategory(ch)}");
}
}
// The example displays the following output:
// 'T': UppercaseLetter
// 'h': LowercaseLetter
// 'e': LowercaseLetter
// ' ': SpaceSeparator
// 'r': LowercaseLetter
// 'e': LowercaseLetter
// 'd': LowercaseLetter
// ' ': SpaceSeparator
// 'c': LowercaseLetter
// 'a': LowercaseLetter
// 'r': LowercaseLetter
// ' ': SpaceSeparator
// 'd': LowercaseLetter
// 'r': LowercaseLetter
// 'o': LowercaseLetter
// 'v': LowercaseLetter
// 'e': LowercaseLetter
// ' ': SpaceSeparator
// 'd': LowercaseLetter
// 'o': LowercaseLetter
// 'w': LowercaseLetter
// 'n': LowercaseLetter
// ' ': SpaceSeparator
// 't': LowercaseLetter
// 'h': LowercaseLetter
// 'e': LowercaseLetter
// ' ': SpaceSeparator
// 'l': LowercaseLetter
// 'o': LowercaseLetter
// 'n': LowercaseLetter
// 'g': LowercaseLetter
// ',': OtherPunctuation
// ' ': SpaceSeparator
// 'n': LowercaseLetter
// 'a': LowercaseLetter
// 'r': LowercaseLetter
// 'r': LowercaseLetter
// 'o': LowercaseLetter
// 'w': LowercaseLetter
// ',': OtherPunctuation
// ' ': SpaceSeparator
// 's': LowercaseLetter
// 'e': LowercaseLetter
// 'c': LowercaseLetter
// 'l': LowercaseLetter
// 'u': LowercaseLetter
// 'd': LowercaseLetter
// 'e': LowercaseLetter
// 'd': LowercaseLetter
// ' ': SpaceSeparator
// 'r': LowercaseLetter
// 'o': LowercaseLetter
// 'a': LowercaseLetter
// 'd': LowercaseLetter
// '.': OtherPunctuation
open System
// Define a string with a variety of character categories.
let s = "The red car drove down the long, narrow, secluded road."
// Determine the category of each character.
for ch in s do
printfn $"'{ch}': {Char.GetUnicodeCategory ch}"
// The example displays the following output:
// 'T': UppercaseLetter
// 'h': LowercaseLetter
// 'e': LowercaseLetter
// ' ': SpaceSeparator
// 'r': LowercaseLetter
// 'e': LowercaseLetter
// 'd': LowercaseLetter
// ' ': SpaceSeparator
// 'c': LowercaseLetter
// 'a': LowercaseLetter
// 'r': LowercaseLetter
// ' ': SpaceSeparator
// 'd': LowercaseLetter
// 'r': LowercaseLetter
// 'o': LowercaseLetter
// 'v': LowercaseLetter
// 'e': LowercaseLetter
// ' ': SpaceSeparator
// 'd': LowercaseLetter
// 'o': LowercaseLetter
// 'w': LowercaseLetter
// 'n': LowercaseLetter
// ' ': SpaceSeparator
// 't': LowercaseLetter
// 'h': LowercaseLetter
// 'e': LowercaseLetter
// ' ': SpaceSeparator
// 'l': LowercaseLetter
// 'o': LowercaseLetter
// 'n': LowercaseLetter
// 'g': LowercaseLetter
// ',': OtherPunctuation
// ' ': SpaceSeparator
// 'n': LowercaseLetter
// 'a': LowercaseLetter
// 'r': LowercaseLetter
// 'r': LowercaseLetter
// 'o': LowercaseLetter
// 'w': LowercaseLetter
// ',': OtherPunctuation
// ' ': SpaceSeparator
// 's': LowercaseLetter
// 'e': LowercaseLetter
// 'c': LowercaseLetter
// 'l': LowercaseLetter
// 'u': LowercaseLetter
// 'd': LowercaseLetter
// 'e': LowercaseLetter
// 'd': LowercaseLetter
// ' ': SpaceSeparator
// 'r': LowercaseLetter
// 'o': LowercaseLetter
// 'a': LowercaseLetter
// 'd': LowercaseLetter
// '.': OtherPunctuation
Imports System.Globalization
Module Example1
Public Sub Main()
' Define a string with a variety of character categories.
Dim s As String = "The car drove down the narrow, secluded road."
' Determine the category of each character.
For Each ch In s
Console.WriteLine("'{0}': {1}", ch, Char.GetUnicodeCategory(ch))
Next
End Sub
End Module
' The example displays the following output:
' 'T': UppercaseLetter
' 'h': LowercaseLetter
' 'e': LowercaseLetter
' ' ': SpaceSeparator
' 'r': LowercaseLetter
' 'e': LowercaseLetter
' 'd': LowercaseLetter
' ' ': SpaceSeparator
' 'c': LowercaseLetter
' 'a': LowercaseLetter
' 'r': LowercaseLetter
' ' ': SpaceSeparator
' 'd': LowercaseLetter
' 'r': LowercaseLetter
' 'o': LowercaseLetter
' 'v': LowercaseLetter
' 'e': LowercaseLetter
' ' ': SpaceSeparator
' 'd': LowercaseLetter
' 'o': LowercaseLetter
' 'w': LowercaseLetter
' 'n': LowercaseLetter
' ' ': SpaceSeparator
' 't': LowercaseLetter
' 'h': LowercaseLetter
' 'e': LowercaseLetter
' ' ': SpaceSeparator
' 'l': LowercaseLetter
' 'o': LowercaseLetter
' 'n': LowercaseLetter
' 'g': LowercaseLetter
' ',': OtherPunctuation
' ' ': SpaceSeparator
' 'n': LowercaseLetter
' 'a': LowercaseLetter
' 'r': LowercaseLetter
' 'r': LowercaseLetter
' 'o': LowercaseLetter
' 'w': LowercaseLetter
' ',': OtherPunctuation
' ' ': SpaceSeparator
' 's': LowercaseLetter
' 'e': LowercaseLetter
' 'c': LowercaseLetter
' 'l': LowercaseLetter
' 'u': LowercaseLetter
' 'd': LowercaseLetter
' 'e': LowercaseLetter
' 'd': LowercaseLetter
' ' ': SpaceSeparator
' 'r': LowercaseLetter
' 'o': LowercaseLetter
' 'a': LowercaseLetter
' 'd': LowercaseLetter
' '.': OtherPunctuation
Internamente, para caracteres fora do intervalo ASCII (U+0000 a U+00FF), o método GetUnicodeCategory depende das categorias Unicode relatadas pela classe CharUnicodeInfo. Os caracteres Unicode são classificados com base no Padrão Unicode, versão 8.0.0.
Caracteres e elementos de texto
Como um único caractere pode ser representado por vários objetos Char, nem sempre é significativo trabalhar com objetos Char individuais. Por exemplo, o exemplo a seguir converte os pontos de código Unicode que representam os números Egeu zero a 9 em unidades de código codificadas utf-16. Como ele se equivoca ao igualar objetos Char a caracteres, informa incorretamente que a string resultante tem 20 caracteres.
using System;
public class Example5
{
public static void Main()
{
string result = String.Empty;
for (int ctr = 0x10107; ctr <= 0x10110; ctr++) // Range of Aegean numbers.
result += Char.ConvertFromUtf32(ctr);
Console.WriteLine($"The string contains {result.Length} characters.");
}
}
// The example displays the following output:
// The string contains 20 characters.
open System
let result =
[ for i in 0x10107..0x10110 do // Range of Aegean numbers.
Char.ConvertFromUtf32 i ]
|> String.concat ""
printfn $"The string contains {result.Length} characters."
// The example displays the following output:
// The string contains 20 characters.
Module Example5
Public Sub Main()
Dim result As String = String.Empty
For ctr As Integer = &H10107 To &H10110 ' Range of Aegean numbers.
result += Char.ConvertFromUtf32(ctr)
Next
Console.WriteLine("The string contains {0} characters.", result.Length)
End Sub
End Module
' The example displays the following output:
' The string contains 20 characters.
Você pode fazer o seguinte para evitar a suposição de que um objeto Char representa um único caractere:
Você pode trabalhar com um objeto String em sua totalidade em vez de trabalhar com seus caracteres individuais para representar e analisar o conteúdo linguístico.
Você pode usar String.EnumerateRunes conforme mostrado no exemplo a seguir:
int CountLetters(string s) { int letterCount = 0; foreach (Rune rune in s.EnumerateRunes()) { if (Rune.IsLetter(rune)) { letterCount++; } } return letterCount; }let countLetters (s: string) = let mutable letterCount = 0 for rune in s.EnumerateRunes() do if Rune.IsLetter rune then letterCount <- letterCount + 1 letterCountVocê pode usar a classe StringInfo para trabalhar com elementos de texto em vez de objetos Char individuais. O exemplo a seguir usa o objeto StringInfo para contar o número de elementos de texto em uma cadeia de caracteres que consiste nos números Egeu zero a nove. Como ele considera um par alternativo um único caractere, ele relata corretamente que a cadeia de caracteres contém dez caracteres.
using System; using System.Globalization; public class Example4 { public static void Main() { string result = String.Empty; for (int ctr = 0x10107; ctr <= 0x10110; ctr++) // Range of Aegean numbers. result += Char.ConvertFromUtf32(ctr); StringInfo si = new StringInfo(result); Console.WriteLine($"The string contains {si.LengthInTextElements} characters."); } } // The example displays the following output: // The string contains 10 characters.open System open System.Globalization let result = [ for i in 0x10107..0x10110 do // Range of Aegean numbers. Char.ConvertFromUtf32 i ] |> String.concat "" let si = StringInfo result printfn $"The string contains {si.LengthInTextElements} characters." // The example displays the following output: // The string contains 10 characters.Imports System.Globalization Module Example6 Public Sub Main() Dim result As String = String.Empty For ctr As Integer = &H10107 To &H10110 ' Range of Aegean numbers. result += Char.ConvertFromUtf32(ctr) Next Dim si As New StringInfo(result) Console.WriteLine("The string contains {0} characters.", si.LengthInTextElements) End Sub End Module ' The example displays the following output: ' The string contains 10 characters.Se uma cadeia de caracteres contiver um caractere base que tenha um ou mais caracteres de combinação, você poderá chamar o método String.Normalize para converter a subcadeia de caracteres em uma única unidade de código codificada UTF-16. O exemplo a seguir chama o método String.Normalize para converter o caractere base U+0061 (LATIN SMALL LETTER A) e o caractere de combinação U+0308 (COMBINING DIAERESIS) para U+00E4 (LATIN SMALL LETTER A WITH DIAERESIS).
using System; public class Example2 { public static void Main() { string combining = "\u0061\u0308"; ShowString(combining); string normalized = combining.Normalize(); ShowString(normalized); } private static void ShowString(string s) { Console.Write($"Length of string: {s.Length} ("); for (int ctr = 0; ctr < s.Length; ctr++) { Console.Write($"U+{Convert.ToUInt16(s[ctr]):X4}"); if (ctr != s.Length - 1) Console.Write(" "); } Console.WriteLine(")\n"); } } // The example displays the following output: // Length of string: 2 (U+0061 U+0308) // // Length of string: 1 (U+00E4)open System let showString (s: string) = printf $"Length of string: {s.Length} (" for i = 0 to s.Length - 1 do printf $"U+{Convert.ToUInt16 s[i]:X4}" if i <> s.Length - 1 then printf " " printfn ")\n" let combining = "\u0061\u0308" showString combining let normalized = combining.Normalize() showString normalized // The example displays the following output: // Length of string: 2 (U+0061 U+0308) // // Length of string: 1 (U+00E4)Module Example3 Public Sub Main() Dim combining As String = ChrW(&H61) + ChrW(&H308) ShowString(combining) Dim normalized As String = combining.Normalize() ShowString(normalized) End Sub Private Sub ShowString(s As String) Console.Write("Length of string: {0} (", s.Length) For ctr As Integer = 0 To s.Length - 1 Console.Write("U+{0:X4}", Convert.ToUInt16(s(ctr))) If ctr <> s.Length - 1 Then Console.Write(" ") Next Console.WriteLine(")") Console.WriteLine() End Sub End Module ' The example displays the following output: ' Length of string: 2 (U+0061 U+0308) ' ' Length of string: 1 (U+00E4)
Operações comuns
A estrutura Char fornece métodos para comparar objetos Char, converter o valor do objeto Char atual em um objeto de outro tipo e determinar a categoria Unicode de um objeto Char:
| Para fazer isso | Use esses métodos de System.Char |
|---|---|
| Comparar objetos Char | CompareTo e Equals |
| Converter um ponto de código em uma cadeia de caracteres | ConvertFromUtf32 Consulte também o tipo Rune. |
| Converter um objeto Char ou um par alternativo de objetos Char em um ponto de código | Para um único caractere: Convert.ToInt32(Char) Para um par substituto ou um caractere em uma cadeia de caracteres: Char.ConvertToUtf32 Consulte também o tipo Rune. |
| Obter a categoria Unicode de um caractere | GetUnicodeCategory Consulte também Rune.GetUnicodeCategory. |
| Determinar se um caractere está em uma categoria Unicode específica, como dígito, letra, pontuação, caractere de controle e assim por diante |
IsControl, IsDigit, IsHighSurrogate, IsLetter, IsLetterOrDigit, IsLower, IsLowSurrogate, IsNumber, IsPunctuation, IsSeparator, IsSurrogate, IsSurrogatePair, IsSymbol, IsUppere IsWhiteSpace Consulte também os métodos correspondentes do tipo Rune. |
| Converter um objeto Char que representa um número em um tipo de valor numérico | GetNumericValue Consulte também Rune.GetNumericValue. |
| Converter um caractere em uma cadeia de caracteres em um objeto Char | Parse e TryParse |
| Converter um objeto Char em um objeto String | ToString |
| Alterar o caso de um objeto Char |
ToLower, ToLowerInvariant, ToUppere ToUpperInvariant Consulte também os métodos correspondentes do tipo Rune. |
Valores de char e interoperabilidade
Quando um tipo Char gerenciado, que é representado como uma unidade de código codificada como Unicode UTF-16, é passado para código não gerenciado, o importador de interoperabilidade converte o conjunto de caracteres para ANSI por padrão. Você pode aplicar o atributo DllImportAttribute a declarações de invocação de plataforma e o atributo StructLayoutAttribute a uma declaração de interoperabilidade COM para controlar qual conjunto de caracteres um tipo marshaled Char usa.
Campos
| Nome | Description |
|---|---|
| MaxValue |
Representa o maior valor possível de um Char. Esse campo é constante. |
| MinValue |
Representa o menor valor possível de um Char. Esse campo é constante. |
Métodos
| Nome | Description |
|---|---|
| CompareTo(Char) |
Compara essa instância a um objeto especificado Char e indica se essa instância precede, segue ou aparece na mesma posição na ordem de classificação que o objeto especificado Char . |
| CompareTo(Object) |
Compara essa instância a um objeto especificado e indica se essa instância precede, segue ou aparece na mesma posição na ordem de classificação que a especificada Object. |
| ConvertFromUtf32(Int32) |
Converte o ponto de código Unicode especificado em uma cadeia de caracteres codificada em UTF-16. |
| ConvertToUtf32(Char, Char) |
Converte o valor de um par alternativo codificado em UTF-16 em um ponto de código Unicode. |
| ConvertToUtf32(String, Int32) |
Converte o valor de um caractere codificado utf-16 ou par alternativo em uma posição especificada em uma cadeia de caracteres em um ponto de código Unicode. |
| Equals(Char, StringComparison) |
Representa um caractere como uma unidade de código UTF-16. |
| Equals(Char) |
Retorna um valor que indica se essa instância é igual ao objeto especificado Char . |
| Equals(Object) |
Retorna um valor que indica se essa instância é igual a um objeto especificado. |
| GetHashCode() |
Retorna o código hash dessa instância. |
| GetNumericValue(Char) |
Converte o caractere Unicode numérico especificado em um número de ponto flutuante de precisão dupla. |
| GetNumericValue(String, Int32) |
Converte o caractere Unicode numérico na posição especificada em uma cadeia de caracteres especificada em um número de ponto flutuante de precisão dupla. |
| GetTypeCode() | |
| GetUnicodeCategory(Char) |
Categoriza um caractere Unicode especificado em um grupo identificado por um dos UnicodeCategory valores. |
| GetUnicodeCategory(String, Int32) |
Categoriza o caractere na posição especificada em uma cadeia de caracteres especificada em um grupo identificado por um dos UnicodeCategory valores. |
| IsAscii(Char) |
Retorna |
| IsAsciiDigit(Char) |
Indica se um caractere é categorizado como um dígito ASCII. |
| IsAsciiHexDigit(Char) |
Indica se um caractere é categorizado como um dígito hexadecimal ASCII. |
| IsAsciiHexDigitLower(Char) |
Indica se um caractere é categorizado como um dígito hexadecimal de minúsculas ASCII. |
| IsAsciiHexDigitUpper(Char) |
Indica se um caractere é categorizado como um dígito hexadecimal de maiúsculas ascii. |
| IsAsciiLetter(Char) |
Indica se um caractere é categorizado como uma letra ASCII. |
| IsAsciiLetterLower(Char) |
Indica se um caractere é categorizado como uma letra ASCII minúscula. |
| IsAsciiLetterOrDigit(Char) |
Indica se um caractere é categorizado como uma letra ou dígito ASCII. |
| IsAsciiLetterUpper(Char) |
Indica se um caractere é categorizado como uma letra ASCII maiúscula. |
| IsBetween(Char, Char, Char) |
Indica se um caractere está dentro do intervalo inclusivo especificado. |
| IsControl(Char) |
Indica se o caractere Unicode especificado é categorizado como um caractere de controle. |
| IsControl(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como um caractere de controle. |
| IsDigit(Char) |
Indica se o caractere Unicode especificado é categorizado como um dígito decimal. |
| IsDigit(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como um dígito decimal. |
| IsHighSurrogate(Char) |
Indica se o objeto especificado Char é um substituto alto. |
| IsHighSurrogate(String, Int32) |
Indica se o Char objeto na posição especificada em uma cadeia de caracteres é um substituto alto. |
| IsLetter(Char) |
Indica se o caractere Unicode especificado é categorizado como uma letra Unicode. |
| IsLetter(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como uma letra Unicode. |
| IsLetterOrDigit(Char) |
Indica se o caractere Unicode especificado é categorizado como uma letra ou um dígito decimal. |
| IsLetterOrDigit(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como uma letra ou um dígito decimal. |
| IsLower(Char) |
Indica se o caractere Unicode especificado é categorizado como uma letra minúscula. |
| IsLower(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como uma letra minúscula. |
| IsLowSurrogate(Char) |
Indica se o objeto especificado Char é um substituto baixo. |
| IsLowSurrogate(String, Int32) |
Indica se o Char objeto na posição especificada em uma cadeia de caracteres é um substituto baixo. |
| IsNumber(Char) |
Indica se o caractere Unicode especificado é categorizado como um número. |
| IsNumber(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como um número. |
| IsPunctuation(Char) |
Indica se o caractere Unicode especificado é categorizado como uma marca de pontuação. |
| IsPunctuation(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como uma marca de pontuação. |
| IsSeparator(Char) |
Indica se o caractere Unicode especificado é categorizado como um caractere separador. |
| IsSeparator(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como um caractere separador. |
| IsSurrogate(Char) |
Indica se o caractere especificado tem uma unidade de código alternativa. |
| IsSurrogate(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada tem uma unidade de código alternativa. |
| IsSurrogatePair(Char, Char) |
Indica se os dois objetos especificados Char formam um par alternativo. |
| IsSurrogatePair(String, Int32) |
Indica se dois objetos adjacentes Char em uma posição especificada em uma cadeia de caracteres formam um par alternativo. |
| IsSymbol(Char) |
Indica se o caractere Unicode especificado é categorizado como um caractere de símbolo. |
| IsSymbol(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como um caractere de símbolo. |
| IsUpper(Char) |
Indica se o caractere Unicode especificado é categorizado como uma letra maiúscula. |
| IsUpper(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como uma letra maiúscula. |
| IsWhiteSpace(Char) |
Indica se o caractere Unicode especificado é categorizado como espaço em branco. |
| IsWhiteSpace(String, Int32) |
Indica se o caractere na posição especificada em uma cadeia de caracteres especificada é categorizado como espaço em branco. |
| Parse(String) |
Converte o valor da cadeia de caracteres especificada em seu caractere Unicode equivalente. |
| ToLower(Char, CultureInfo) |
Converte o valor de um caractere Unicode especificado em seu equivalente minúsculo usando informações de formatação específicas da cultura especificadas. |
| ToLower(Char) |
Converte o valor de um caractere Unicode em seu equivalente minúsculo. |
| ToLowerInvariant(Char) |
Converte o valor de um caractere Unicode em seu equivalente minúsculo usando as regras de maiúsculas e minúsculas da cultura invariável. |
| ToString() |
Converte o valor dessa instância em sua representação de cadeia de caracteres equivalente. |
| ToString(Char) |
Converte o caractere Unicode especificado em sua representação de cadeia de caracteres equivalente. |
| ToString(IFormatProvider) |
Converte o valor dessa instância em sua representação de cadeia de caracteres equivalente usando as informações de formato específicas da cultura especificadas. |
| ToUpper(Char, CultureInfo) |
Converte o valor de um caractere Unicode especificado em seu equivalente maiúsculo usando informações de formatação específicas da cultura especificadas. |
| ToUpper(Char) |
Converte o valor de um caractere Unicode em seu equivalente maiúsculo. |
| ToUpperInvariant(Char) |
Converte o valor de um caractere Unicode em seu equivalente maiúsculo usando as regras de maiúsculas da cultura invariável. |
| TryParse(String, Char) |
Converte o valor da cadeia de caracteres especificada em seu caractere Unicode equivalente. Um código de retorno indica se a conversão foi bem-sucedida ou falhou. |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IAdditionOperators<Char,Char,Char>.Addition(Char, Char) |
Adiciona dois valores juntos para calcular sua soma. |
| IAdditionOperators<Char,Char,Char>.CheckedAddition(Char, Char) |
Adiciona dois valores juntos para calcular sua soma. |
| IAdditiveIdentity<Char,Char>.AdditiveIdentity |
Obtém a identidade aditiva do tipo atual. |
| IBinaryInteger<Char>.GetByteCount() |
Obtém o número de bytes que serão gravados como parte de TryWriteLittleEndian(Span<Byte>, Int32). |
| IBinaryInteger<Char>.GetShortestBitLength() |
Obtém o comprimento, em bits, da representação complementar dos dois mais curtos do valor atual. |
| IBinaryInteger<Char>.LeadingZeroCount(Char) |
Calcula o número de bits zero à esquerda em um valor. |
| IBinaryInteger<Char>.Log10(Char) |
Representa um caractere como uma unidade de código UTF-16. |
| IBinaryInteger<Char>.PopCount(Char) |
Calcula o número de bits definidos em um valor. |
| IBinaryInteger<Char>.RotateLeft(Char, Int32) |
Gira um valor deixado por um determinado valor. |
| IBinaryInteger<Char>.RotateRight(Char, Int32) |
Gira um valor à direita em um determinado valor. |
| IBinaryInteger<Char>.TrailingZeroCount(Char) |
Calcula o número de bits zero à direita em um valor. |
| IBinaryInteger<Char>.TryReadBigEndian(ReadOnlySpan<Byte>, Boolean, Char) |
Representa um caractere como uma unidade de código UTF-16. |
| IBinaryInteger<Char>.TryReadLittleEndian(ReadOnlySpan<Byte>, Boolean, Char) |
Representa um caractere como uma unidade de código UTF-16. |
| IBinaryInteger<Char>.TryWriteBigEndian(Span<Byte>, Int32) |
Tenta gravar o valor atual, no formato big-endian, em um determinado intervalo. |
| IBinaryInteger<Char>.TryWriteLittleEndian(Span<Byte>, Int32) |
Tenta gravar o valor atual, no formato little-endian, em um determinado intervalo. |
| IBinaryNumber<Char>.AllBitsSet |
Obtém uma instância do tipo binário na qual todos os bits são definidos. |
| IBinaryNumber<Char>.IsPow2(Char) |
Determina se um valor é uma potência de dois. |
| IBinaryNumber<Char>.Log2(Char) |
Calcula o log2 de um valor. |
| IBitwiseOperators<Char,Char,Char>.BitwiseAnd(Char, Char) |
Calcula o bit a bit e dois valores. |
| IBitwiseOperators<Char,Char,Char>.BitwiseOr(Char, Char) |
Calcula o bit a bit ou de dois valores. |
| IBitwiseOperators<Char,Char,Char>.ExclusiveOr(Char, Char) |
Calcula o exclusivo ou de dois valores. |
| IBitwiseOperators<Char,Char,Char>.OnesComplement(Char) |
Calcula a representação ones-complement de um determinado valor. |
| IComparable.CompareTo(Object) |
Compara a instância atual com outro objeto do mesmo tipo e devolve um número inteiro que indica se a instância atual precede, segue ou ocorre na mesma posição na sequência de ordenação que o outro objeto. |
| IComparisonOperators<Char,Char,Boolean>.GreaterThan(Char, Char) |
Compara dois valores para determinar qual é maior. |
| IComparisonOperators<Char,Char,Boolean>.GreaterThanOrEqual(Char, Char) |
Compara dois valores para determinar qual é maior ou igual. |
| IComparisonOperators<Char,Char,Boolean>.LessThan(Char, Char) |
Compara dois valores para determinar qual é menor. |
| IComparisonOperators<Char,Char,Boolean>.LessThanOrEqual(Char, Char) |
Compara dois valores para determinar qual é menor ou igual. |
| IConvertible.GetTypeCode() |
Retorna o TypeCode para esta instância. |
| IConvertible.ToBoolean(IFormatProvider) |
Nota Não há suporte para essa conversão. Tentar fazer dessa forma lança um InvalidCastException. |
| IConvertible.ToByte(IFormatProvider) |
Para obter uma descrição deste membro, consulte ToByte(IFormatProvider). |
| IConvertible.ToChar(IFormatProvider) |
Para obter uma descrição deste membro, consulte ToChar(IFormatProvider). |
| IConvertible.ToDateTime(IFormatProvider) |
Nota Não há suporte para essa conversão. Tentar fazer dessa forma lança um InvalidCastException. |
| IConvertible.ToDecimal(IFormatProvider) |
Nota Não há suporte para essa conversão. Tentar fazer dessa forma lança um InvalidCastException. |
| IConvertible.ToDouble(IFormatProvider) |
Nota Não há suporte para essa conversão. Tentar fazer dessa forma lança um InvalidCastException. |
| IConvertible.ToInt16(IFormatProvider) |
Para obter uma descrição deste membro, consulte ToInt16(IFormatProvider). |
| IConvertible.ToInt32(IFormatProvider) |
Para obter uma descrição deste membro, consulte ToInt32(IFormatProvider). |
| IConvertible.ToInt64(IFormatProvider) |
Para obter uma descrição deste membro, consulte ToInt64(IFormatProvider). |
| IConvertible.ToSByte(IFormatProvider) |
Para obter uma descrição deste membro, consulte ToSByte(IFormatProvider). |
| IConvertible.ToSingle(IFormatProvider) |
Nota Não há suporte para essa conversão. Tentar fazer dessa forma lança um InvalidCastException. |
| IConvertible.ToString(IFormatProvider) |
Converte o valor dessa instância em uma cadeia de caracteres equivalente, usando as informações de formatação específicas da cultura especificadas. |
| IConvertible.ToType(Type, IFormatProvider) |
Para obter uma descrição deste membro, consulte ToType(Type, IFormatProvider). |
| IConvertible.ToUInt16(IFormatProvider) |
Para obter uma descrição deste membro, consulte ToUInt16(IFormatProvider). |
| IConvertible.ToUInt32(IFormatProvider) |
Para obter uma descrição deste membro, consulte ToUInt32(IFormatProvider). |
| IConvertible.ToUInt64(IFormatProvider) |
Para obter uma descrição deste membro, consulte ToUInt64(IFormatProvider). |
| IDecrementOperators<Char>.CheckedDecrement(Char) |
Decrementa um valor. |
| IDecrementOperators<Char>.Decrement(Char) |
Decrementa um valor. |
| IDivisionOperators<Char,Char,Char>.Division(Char, Char) |
Divide um valor por outro para calcular seu quociente. |
| IEqualityOperators<Char,Char,Boolean>.Equality(Char, Char) |
Compara dois valores para determinar a igualdade. |
| IEqualityOperators<Char,Char,Boolean>.Inequality(Char, Char) |
Compara dois valores para determinar a desigualdade. |
| IFormattable.ToString(String, IFormatProvider) |
Formata o valor da instância atual usando o formato especificado. |
| IIncrementOperators<Char>.CheckedIncrement(Char) |
Incrementa um valor. |
| IIncrementOperators<Char>.Increment(Char) |
Incrementa um valor. |
| IMinMaxValue<Char>.MaxValue |
Obtém o valor máximo do tipo atual. |
| IMinMaxValue<Char>.MinValue |
Obtém o valor mínimo do tipo atual. |
| IModulusOperators<Char,Char,Char>.Modulus(Char, Char) |
Divide dois valores juntos para calcular seu módulo ou restante. |
| IMultiplicativeIdentity<Char,Char>.MultiplicativeIdentity |
Obtém a identidade multiplicativa do tipo atual. |
| IMultiplyOperators<Char,Char,Char>.CheckedMultiply(Char, Char) |
Multiplica dois valores juntos para calcular seu produto. |
| IMultiplyOperators<Char,Char,Char>.Multiply(Char, Char) |
Multiplica dois valores juntos para calcular seu produto. |
| INumberBase<Char>.Abs(Char) |
Calcula o absoluto de um valor. |
| INumberBase<Char>.IsCanonical(Char) |
Determina se um valor está em sua representação canônica. |
| INumberBase<Char>.IsComplexNumber(Char) |
Determina se um valor representa um número complexo. |
| INumberBase<Char>.IsEvenInteger(Char) |
Determina se um valor representa um número integral par. |
| INumberBase<Char>.IsFinite(Char) |
Determina se um valor é finito. |
| INumberBase<Char>.IsImaginaryNumber(Char) |
Determina se um valor representa um número imaginário puro. |
| INumberBase<Char>.IsInfinity(Char) |
Determina se um valor é infinito. |
| INumberBase<Char>.IsInteger(Char) |
Determina se um valor representa um número integral. |
| INumberBase<Char>.IsNaN(Char) |
Determina se um valor é NaN. |
| INumberBase<Char>.IsNegative(Char) |
Determina se um valor é negativo. |
| INumberBase<Char>.IsNegativeInfinity(Char) |
Determina se um valor é infinito negativo. |
| INumberBase<Char>.IsNormal(Char) |
Determina se um valor é normal. |
| INumberBase<Char>.IsOddInteger(Char) |
Determina se um valor representa um número integral ímpar. |
| INumberBase<Char>.IsPositive(Char) |
Determina se um valor é positivo. |
| INumberBase<Char>.IsPositiveInfinity(Char) |
Determina se um valor é infinito positivo. |
| INumberBase<Char>.IsRealNumber(Char) |
Determina se um valor representa um número real. |
| INumberBase<Char>.IsSubnormal(Char) |
Determina se um valor é subnormal. |
| INumberBase<Char>.IsZero(Char) |
Determina se um valor é zero. |
| INumberBase<Char>.MaxMagnitude(Char, Char) |
Compara dois valores com a computação que é maior. |
| INumberBase<Char>.MaxMagnitudeNumber(Char, Char) |
Compara dois valores com a computação que tem maior magnitude e retorna o outro valor se uma entrada for |
| INumberBase<Char>.MinMagnitude(Char, Char) |
Compara dois valores com a computação menor. |
| INumberBase<Char>.MinMagnitudeNumber(Char, Char) |
Compara dois valores com a computação que tem a menor magnitude e retorna o outro valor se uma entrada for |
| INumberBase<Char>.MultiplyAddEstimate(Char, Char, Char) |
Calcula uma estimativa de ( |
| INumberBase<Char>.One |
Obtém o valor |
| INumberBase<Char>.Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Analisa um intervalo de caracteres em um valor. |
| INumberBase<Char>.Parse(String, NumberStyles, IFormatProvider) |
Analisa uma cadeia de caracteres em um valor. |
| INumberBase<Char>.Radix |
Obtém a base para o tipo. |
| INumberBase<Char>.TryConvertFromChecked<TOther>(TOther, Char) |
Representa um caractere como uma unidade de código UTF-16. |
| INumberBase<Char>.TryConvertFromSaturating<TOther>(TOther, Char) |
Representa um caractere como uma unidade de código UTF-16. |
| INumberBase<Char>.TryConvertFromTruncating<TOther>(TOther, Char) |
Representa um caractere como uma unidade de código UTF-16. |
| INumberBase<Char>.TryConvertToChecked<TOther>(Char, TOther) |
Tenta converter uma instância do tipo atual em outro tipo, gerando uma exceção de estouro para quaisquer valores que fiquem fora do intervalo representável do tipo atual. |
| INumberBase<Char>.TryConvertToSaturating<TOther>(Char, TOther) |
Tenta converter uma instância do tipo atual em outro tipo, saturando todos os valores que estão fora do intervalo representável do tipo atual. |
| INumberBase<Char>.TryConvertToTruncating<TOther>(Char, TOther) |
Tenta converter uma instância do tipo atual em outro tipo, truncando todos os valores que estejam fora do intervalo representável do tipo atual. |
| INumberBase<Char>.TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Char) |
Representa um caractere como uma unidade de código UTF-16. |
| INumberBase<Char>.TryParse(String, NumberStyles, IFormatProvider, Char) |
Representa um caractere como uma unidade de código UTF-16. |
| INumberBase<Char>.Zero |
Obtém o valor |
| IParsable<Char>.Parse(String, IFormatProvider) |
Analisa uma cadeia de caracteres em um valor. |
| IParsable<Char>.TryParse(String, IFormatProvider, Char) |
Representa um caractere como uma unidade de código UTF-16. |
| IShiftOperators<Char,Int32,Char>.LeftShift(Char, Int32) |
Desloca um valor deixado por um determinado valor. |
| IShiftOperators<Char,Int32,Char>.RightShift(Char, Int32) |
Desloca um valor para a direita por um determinado valor. |
| IShiftOperators<Char,Int32,Char>.UnsignedRightShift(Char, Int32) |
Desloca um valor para a direita por um determinado valor. |
| ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Tenta formatar o valor da instância atual no intervalo de caracteres fornecido. |
| ISpanParsable<Char>.Parse(ReadOnlySpan<Char>, IFormatProvider) |
Analisa um intervalo de caracteres em um valor. |
| ISpanParsable<Char>.TryParse(ReadOnlySpan<Char>, IFormatProvider, Char) |
Representa um caractere como uma unidade de código UTF-16. |
| ISubtractionOperators<Char,Char,Char>.CheckedSubtraction(Char, Char) |
Subtrai dois valores para calcular a diferença. |
| ISubtractionOperators<Char,Char,Char>.Subtraction(Char, Char) |
Subtrai dois valores para calcular a diferença. |
| IUnaryNegationOperators<Char,Char>.CheckedUnaryNegation(Char) |
Calcula a negação unária verificada de um valor. |
| IUnaryNegationOperators<Char,Char>.UnaryNegation(Char) |
Calcula a negação unária de um valor. |
| IUnaryPlusOperators<Char,Char>.UnaryPlus(Char) |
Calcula a adição unária de um valor. |
| IUtf8SpanFormattable.TryFormat(Span<Byte>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Tenta formatar o valor da instância atual como UTF-8 no intervalo de bytes fornecido. |
| IUtf8SpanParsable<Char>.Parse(ReadOnlySpan<Byte>, IFormatProvider) |
Representa um caractere como uma unidade de código UTF-16. |
| IUtf8SpanParsable<Char>.TryParse(ReadOnlySpan<Byte>, IFormatProvider, Char) |
Representa um caractere como uma unidade de código UTF-16. |
Aplica-se a
Acesso thread-safe
Todos os membros desse tipo são thread safe. Os membros que parecem modificar o estado da instância retornam, na verdade, uma nova instância inicializada com o novo valor. Assim como acontece com qualquer outro tipo, a leitura e a gravação em uma variável compartilhada que contenha uma instância desse tipo devem ser protegidas por um bloqueio para garantir a segurança do thread.