Char Struktur
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt ein Zeichen als UTF-16-Codeeinheit dar.
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)
- Vererbung
- Attribute
- Implementiert
-
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>
Beispiele
Das folgende Codebeispiel veranschaulicht einige der Methoden in 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
Hinweise
Die Char Struktur stellt Unicode-Codepunkte mithilfe der UTF-16-Codierung dar. Der Wert eines Char Objekts ist sein 16-Bit-numerischer Wert (Ordnungszahl).
Wenn Sie mit Unicode, Skalarwerten, Codepunkten, Ersatzpaaren, UTF-16 und dem Rune Typ nicht vertraut sind, lesen Sie die Einführung in die Zeichencodierung in .NET.
In diesem Artikel wird die Beziehung zwischen einem Char Objekt und einem Zeichen untersucht und einige allgemeine Aufgaben behandelt, die mit Char Instanzen ausgeführt werden. Wir empfehlen Ihnen, den in .NET Core 3.0 eingeführten Typ Rune als Alternative zu Char zum Ausführen einiger dieser Aufgaben in Betracht zu ziehen.
Zeichenobjekte, Unicode-Zeichen und Zeichenfolgen
Ein String Objekt ist eine sequenzielle Auflistung von Char Strukturen, die eine Textzeichenfolge darstellen. Die meisten Unicode-Zeichen können durch ein einzelnes Char Objekt dargestellt werden, aber ein Zeichen, das als Basiszeichen, Ersatzpaar und/oder kombinierte Zeichenfolge codiert ist, wird durch mehrere Char Objekte dargestellt. Aus diesem Grund entspricht eine Char Struktur in einem String Objekt nicht unbedingt einem einzelnen Unicode-Zeichen.
In den folgenden Fällen werden mehrere 16-Bit-Codeeinheiten verwendet, um einzelne Unicode-Zeichen darzustellen:
Glyphen, die aus einem einzelnen Zeichen oder einem Basiszeichen bestehen können, gefolgt von einem oder mehreren kombinierten Zeichen. Beispielsweise wird das Zeichen "ä" durch ein Char Objekt dargestellt, dessen Codeeinheit U+0061 ist, gefolgt von einem Char Objekt, dessen Codeeinheit U+0308 ist. (Das Zeichen ä kann auch durch ein einzelnes Char Objekt definiert werden, das über eine Codeeinheit von U+00E4 verfügt.) Das folgende Beispiel veranschaulicht, dass das Zeichen ä aus zwei Char Objekten besteht.
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: ' äZeichen außerhalb der Unicode Basic Multilingual Plane (BMP). Unicode unterstützt sechzehn Ebenen zusätzlich zur BMP, die als Ebene 0 dient. Ein Unicode-Codepunkt wird in UTF-32 durch einen 21-Bit-Wert dargestellt, der die Ebene enthält. Zum Beispiel steht U+1D160 für das Zeichen MUSICAL SYMBOL EIGHTH NOTE. Da die UTF-16-Codierung nur 16 Bit aufweist, werden Zeichen außerhalb des BMP durch Ersatzpaare in UTF-16 dargestellt. Das folgende Beispiel zeigt, dass das UTF-32-Äquivalent von U+1D160, dem MUSIKSYMBOL-ACHTELNOTE-Zeichen, U+D834 U+DD60 ist. U+D834 ist das hohe Surrogat; hohe Surrogate reichen von U+D800 bis U+DBFF. U+DD60 ist das niedrige Surrogat; die niedrigen Surrogate reichen von U+DC00 bis 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
Zeichen und Zeichenkategorien
Jedes Unicode-Zeichen oder gültige Ersatzpaar gehört zu einer Unicode-Kategorie. In .NET werden Unicode-Kategorien durch die Member der UnicodeCategory-Enumeration dargestellt und enthalten Werte wie UnicodeCategory.CurrencySymbol, UnicodeCategory.LowercaseLetter und UnicodeCategory.SpaceSeparator, z. B. .
Rufen Sie die GetUnicodeCategory Methode auf, um die Unicode-Kategorie eines Zeichens zu ermitteln. Beispielsweise wird die Unicode-Kategorie jedes Zeichens in einer Zeichenfolge durch GetUnicodeCategory angezeigt. Das Beispiel funktioniert nur dann ordnungsgemäß, wenn in der String Instanz keine Ersatzpaare vorhanden sind.
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
Intern hängt die GetUnicodeCategory Methode für Zeichen außerhalb des ASCII-Bereichs (U+0000 bis U+00FF) von unicode-Kategorien ab, die von der CharUnicodeInfo Klasse gemeldet werden. Unicode-Zeichen werden basierend auf Dem Unicode Standard, Version 8.0.0, klassifiziert.
Zeichen und Textelemente
Da ein einzelnes Zeichen durch mehrere Char Objekte dargestellt werden kann, ist es nicht immer sinnvoll, mit einzelnen Char Objekten zu arbeiten. Im folgenden Beispiel werden beispielsweise die Unicode-Codepunkte konvertiert, die die Ägäis-Zahlen 0 bis 9 in UTF-16-codierte Codeeinheiten darstellen. Da objekte fälschlicherweise mit Zeichen gleichgesetzt Char werden, meldet sie ungenau, dass die resultierende Zeichenfolge 20 Zeichen enthält.
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.
Gehen Sie wie folgt vor, um die Annahme zu vermeiden, dass ein Char Objekt ein einzelnes Zeichen darstellt:
Sie können vollständig mit einem String Objekt arbeiten, anstatt mit den einzelnen Zeichen zu arbeiten, um sprachliche Inhalte darzustellen und zu analysieren.
Sie können wie im folgenden Beispiel gezeigt verwenden String.EnumerateRunes :
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 letterCountSie können die StringInfo Klasse verwenden, um mit Textelementen anstelle einzelner Char Objekte zu arbeiten. Im folgenden Beispiel wird das StringInfo Objekt verwendet, um die Anzahl der Textelemente in einer Zeichenfolge zu zählen, die aus den Ägäischen Zahlen 0 bis neun besteht. Da es ein Ersatzpaar als einzelnes Zeichen betrachtet, meldet es ordnungsgemäß, dass die Zeichenfolge zehn Zeichen enthält.
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.Wenn eine Zeichenfolge ein Basiszeichen mit mindestens einem Kombinationszeichen enthält, können Sie die String.Normalize Methode aufrufen, um die Teilzeichenfolge in eine einzelne UTF-16-codierte Codeeinheit zu konvertieren. Das folgende Beispiel ruft die Methode String.Normalize auf, um das Basiszeichen U+0061 (LATIN SMALL LETTER A) und das Kombinationszeichen U+0308 (COMBINING DIAERESIS) in U+00E4 (LATIN SMALL LETTER A WITH DIAERESIS) zu konvertieren.
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)
Allgemeine Vorgänge
Die Char Struktur stellt Methoden zum Vergleichen Char von Objekten bereit, konvertiert den Wert des aktuellen Char Objekts in ein Objekt eines anderen Typs und bestimmt die Unicode-Kategorie eines Char Objekts:
| Um dies zu tun | Verwenden Sie diese System.Char Methoden. |
|---|---|
| Vergleichen von Char Objekten | CompareTo und Equals |
| Konvertieren eines Codepunkts in eine Zeichenfolge | ConvertFromUtf32 Siehe auch den Rune Typ. |
| Konvertieren eines Char Objekts oder eines Ersatzpaars von Char Objekten in einen Codepunkt | Für ein einzelnes Zeichen: Convert.ToInt32(Char) Für ein Ersatzpaar oder ein Zeichen in einer Zeichenfolge: Char.ConvertToUtf32 Siehe auch den Rune Typ. |
| Abrufen der Unicode-Kategorie eines Zeichens | GetUnicodeCategory Siehe auch Rune.GetUnicodeCategory. |
| Bestimmen, ob sich ein Zeichen in einer bestimmten Unicode-Kategorie befindet, z. B. Ziffer, Buchstabe, Interpunktion, Steuerelementzeichen usw. |
IsControl, IsDigit, IsHighSurrogate, IsLetter, IsLetterOrDigit, IsLower, IsLowSurrogate, IsNumber, IsPunctuation, und IsSeparator, IsSurrogate, IsSurrogatePair, IsSymbol, IsUpper, und IsWhiteSpace Siehe auch entsprechende Methoden für den Rune Typ. |
| Konvertieren eines Char Objekts, das eine Zahl darstellt, in einen numerischen Werttyp | GetNumericValue Siehe auch Rune.GetNumericValue. |
| Konvertieren eines Zeichens in einer Zeichenfolge in ein Char Objekt | Parse und TryParse |
| Konvertieren eines Char Objekts in ein String Objekt | ToString |
| Ändern des Case eines Char-Objekts |
ToLower, ToLowerInvariant, ToUpper und ToUpperInvariant Siehe auch entsprechende Methoden für den Rune Typ. |
Zeichenwerte und Interop
Wenn ein verwalteter Char Typ, der als Unicode UTF-16-codierte Codeeinheit dargestellt wird, an nicht verwalteten Code übergeben wird, konvertiert der Interop-Marshaller standardmäßig den Zeichensatz in ANSI. Sie können das DllImportAttribute-Attribut auf Platformaufruf-Deklarationen und das StructLayoutAttribute-Attribut auf eine COM-Interop-Deklaration anwenden, um zu steuern, welchen Zeichensatz ein gemarschallter Char-Typ verwendet.
Felder
| Name | Beschreibung |
|---|---|
| MaxValue |
Stellt den größten möglichen Wert eines .Char Dieses Feld ist konstant. |
| MinValue |
Stellt den kleinsten möglichen Wert eines .Char Dieses Feld ist konstant. |
Methoden
| Name | Beschreibung |
|---|---|
| CompareTo(Char) |
Vergleicht diese Instanz mit einem angegebenen Char Objekt und gibt an, ob diese Instanz vor, folgt oder in derselben Position in der Sortierreihenfolge wie das angegebene Char Objekt angezeigt wird. |
| CompareTo(Object) |
Vergleicht diese Instanz mit einem angegebenen Objekt und gibt an, ob diese Instanz der angegebenen ObjectSortierreihenfolge vorangestellt, folgt oder in derselben Position angezeigt wird. |
| ConvertFromUtf32(Int32) |
Konvertiert den angegebenen Unicode-Codepunkt in eine UTF-16-codierte Zeichenfolge. |
| ConvertToUtf32(Char, Char) |
Konvertiert den Wert eines UTF-16-codierten Ersatzpaars in einen Unicode-Codepunkt. |
| ConvertToUtf32(String, Int32) |
Wandelt den Wert eines UTF-16-codierten Zeichen- oder Ersatzpaars an einer angegebenen Position in einer Zeichenfolge in einen Unicode-Codepunkt um. |
| Equals(Char, StringComparison) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| Equals(Char) |
Gibt einen Wert zurück, der angibt, ob diese Instanz dem angegebenen Char Objekt entspricht. |
| Equals(Object) |
Gibt einen Wert zurück, der angibt, ob diese Instanz einem angegebenen Objekt entspricht. |
| GetHashCode() |
Gibt den Hashcode für diesen instance zurück. |
| GetNumericValue(Char) |
Konvertiert das angegebene numerische Unicode-Zeichen in eine Gleitkommazahl mit doppelter Genauigkeit. |
| GetNumericValue(String, Int32) |
Konvertiert das numerische Unicode-Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge in eine Gleitkommazahl mit doppelter Genauigkeit. |
| GetTypeCode() | |
| GetUnicodeCategory(Char) |
Kategorisiert ein angegebenes Unicode-Zeichen in eine Gruppe, die durch einen der UnicodeCategory Werte identifiziert wird. |
| GetUnicodeCategory(String, Int32) |
Kategorisiert das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge in eine Gruppe, die durch einen der UnicodeCategory Werte identifiziert wird. |
| IsAscii(Char) |
Gibt zurück |
| IsAsciiDigit(Char) |
Gibt an, ob ein Zeichen als ASCII-Ziffer kategorisiert wird. |
| IsAsciiHexDigit(Char) |
Gibt an, ob ein Zeichen als ASCII-Hexadezimalziffer kategorisiert wird. |
| IsAsciiHexDigitLower(Char) |
Gibt an, ob ein Zeichen als ASCII-Hexadezimalziffer kategorisiert wird. |
| IsAsciiHexDigitUpper(Char) |
Gibt an, ob ein Zeichen als ASCII-Hexadezimalziffer kategorisiert wird. |
| IsAsciiLetter(Char) |
Gibt an, ob ein Zeichen als ASCII-Buchstabe kategorisiert wird. |
| IsAsciiLetterLower(Char) |
Gibt an, ob ein Zeichen als kleingeschriebener ASCII-Buchstabe kategorisiert wird. |
| IsAsciiLetterOrDigit(Char) |
Gibt an, ob ein Zeichen als ASCII-Buchstabe oder Ziffern kategorisiert wird. |
| IsAsciiLetterUpper(Char) |
Gibt an, ob ein Zeichen als ASCII-Großbuchstaben kategorisiert wird. |
| IsBetween(Char, Char, Char) |
Gibt an, ob sich ein Zeichen innerhalb des angegebenen inklusiven Bereichs befindet. |
| IsControl(Char) |
Gibt an, ob das angegebene Unicode-Zeichen als Steuerelementzeichen kategorisiert wird. |
| IsControl(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Steuerelementzeichen kategorisiert wird. |
| IsDigit(Char) |
Gibt an, ob das angegebene Unicode-Zeichen als Dezimalziffer kategorisiert wird. |
| IsDigit(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Dezimalziffer kategorisiert wird. |
| IsHighSurrogate(Char) |
Gibt an, ob das angegebene Char Objekt ein hoher Ersatz ist. |
| IsHighSurrogate(String, Int32) |
Gibt an, ob das Char Objekt an der angegebenen Position in einer Zeichenfolge ein hoher Ersatz ist. |
| IsLetter(Char) |
Gibt an, ob das angegebene Unicode-Zeichen als Unicode-Buchstabe kategorisiert wird. |
| IsLetter(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Unicode-Buchstabe kategorisiert wird. |
| IsLetterOrDigit(Char) |
Gibt an, ob das angegebene Unicode-Zeichen als Buchstabe oder dezimale Ziffer kategorisiert wird. |
| IsLetterOrDigit(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Buchstabe oder Dezimalziffer kategorisiert wird. |
| IsLower(Char) |
Gibt an, ob das angegebene Unicode-Zeichen als Kleinbuchstaben kategorisiert wird. |
| IsLower(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Kleinbuchstabe kategorisiert wird. |
| IsLowSurrogate(Char) |
Gibt an, ob das angegebene Char Objekt ein niedriger Ersatz ist. |
| IsLowSurrogate(String, Int32) |
Gibt an, ob das Char Objekt an der angegebenen Position in einer Zeichenfolge ein niedriger Ersatz ist. |
| IsNumber(Char) |
Gibt an, ob das angegebene Unicode-Zeichen als Zahl kategorisiert wird. |
| IsNumber(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Zahl kategorisiert wird. |
| IsPunctuation(Char) |
Gibt an, ob das angegebene Unicode-Zeichen als Interpunktionszeichen kategorisiert wird. |
| IsPunctuation(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Satzzeichen kategorisiert wird. |
| IsSeparator(Char) |
Gibt an, ob das angegebene Unicode-Zeichen als Trennzeichen kategorisiert wird. |
| IsSeparator(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Trennzeichen kategorisiert wird. |
| IsSurrogate(Char) |
Gibt an, ob das angegebene Zeichen über eine Ersatzcodeeinheit verfügt. |
| IsSurrogate(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge eine Ersatzcodeeinheit aufweist. |
| IsSurrogatePair(Char, Char) |
Gibt an, ob die beiden angegebenen Char Objekte ein Ersatzpaar bilden. |
| IsSurrogatePair(String, Int32) |
Gibt an, ob zwei benachbarte Char Objekte an einer angegebenen Position in einer Zeichenfolge ein Ersatzpaar bilden. |
| IsSymbol(Char) |
Gibt an, ob das angegebene Unicode-Zeichen als Symbolzeichen kategorisiert wird. |
| IsSymbol(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Symbolzeichen kategorisiert wird. |
| IsUpper(Char) |
Gibt an, ob das angegebene Unicode-Zeichen als Großbuchstaben kategorisiert wird. |
| IsUpper(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Großbuchstaben kategorisiert wird. |
| IsWhiteSpace(Char) |
Gibt an, ob das angegebene Unicode-Zeichen als Leerzeichen kategorisiert wird. |
| IsWhiteSpace(String, Int32) |
Gibt an, ob das Zeichen an der angegebenen Position in einer angegebenen Zeichenfolge als Leerzeichen kategorisiert wird. |
| Parse(String) |
Konvertiert den Wert der angegebenen Zeichenfolge in das entsprechende Unicode-Zeichen. |
| ToLower(Char, CultureInfo) |
Wandelt den Wert eines angegebenen Unicode-Zeichens in sein Kleinbuchstaben-Äquivalent mithilfe der angegebenen kulturspezifischen Formatierungsinformationen um. |
| ToLower(Char) |
Wandelt den Wert eines Unicode-Zeichens in seine Kleinbuchstaben-Entsprechung um. |
| ToLowerInvariant(Char) |
Wandelt den Wert eines Unicode-Zeichens mithilfe der Groß-/Kleinschreibungsregeln der invarianten Kultur in das Kleinbuchstabe um. |
| ToString() |
Konvertiert den Wert dieser Instanz in die entsprechende Zeichenfolgendarstellung. |
| ToString(Char) |
Konvertiert das angegebene Unicode-Zeichen in die entsprechende Zeichenfolgendarstellung. |
| ToString(IFormatProvider) |
Wandelt den Wert dieser Instanz mithilfe der angegebenen kulturspezifischen Formatinformationen in die entsprechende Zeichenfolgendarstellung um. |
| ToUpper(Char, CultureInfo) |
Konvertiert den Wert eines angegebenen Unicode-Zeichens in das großgeschriebene Äquivalent mithilfe der angegebenen kulturspezifischen Formatierungsinformationen. |
| ToUpper(Char) |
Wandelt den Wert eines Unicode-Zeichens in seine Großbuchstaben-Entsprechung um. |
| ToUpperInvariant(Char) |
Wandelt den Wert eines Unicode-Zeichens mithilfe der Groß-/Kleinschreibung der invarianten Kultur in die großgeschriebene Entsprechung um. |
| TryParse(String, Char) |
Konvertiert den Wert der angegebenen Zeichenfolge in das entsprechende Unicode-Zeichen. Ein Rückgabecode gibt an, ob die Konvertierung erfolgreich war oder fehlgeschlagen ist. |
Explizite Schnittstellenimplementierungen
| Name | Beschreibung |
|---|---|
| IAdditionOperators<Char,Char,Char>.Addition(Char, Char) |
Addiert zwei Werte zusammen, um ihre Summe zu berechnen. |
| IAdditionOperators<Char,Char,Char>.CheckedAddition(Char, Char) |
Addiert zwei Werte zusammen, um ihre Summe zu berechnen. |
| IAdditiveIdentity<Char,Char>.AdditiveIdentity |
Ruft die additive Identität des aktuellen Typs ab. |
| IBinaryInteger<Char>.GetByteCount() |
Ruft die Anzahl der Bytes ab, die als Teil von TryWriteLittleEndian(Span<Byte>, Int32). |
| IBinaryInteger<Char>.GetShortestBitLength() |
Ruft die Länge in Bits der kürzesten beiden Ergänzungsdarstellung des aktuellen Werts ab. |
| IBinaryInteger<Char>.LeadingZeroCount(Char) |
Berechnet die Anzahl der führenden Nullbits in einem Wert. |
| IBinaryInteger<Char>.Log10(Char) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| IBinaryInteger<Char>.PopCount(Char) |
Berechnet die Anzahl der Bits, die in einem Wert festgelegt sind. |
| IBinaryInteger<Char>.RotateLeft(Char, Int32) |
Dreht einen Wert um einen bestimmten Betrag nach links. |
| IBinaryInteger<Char>.RotateRight(Char, Int32) |
Dreht einen Wert um einen bestimmten Betrag nach rechts. |
| IBinaryInteger<Char>.TrailingZeroCount(Char) |
Berechnet die Anzahl der nachfolgenden Nullbits in einem Wert. |
| IBinaryInteger<Char>.TryReadBigEndian(ReadOnlySpan<Byte>, Boolean, Char) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| IBinaryInteger<Char>.TryReadLittleEndian(ReadOnlySpan<Byte>, Boolean, Char) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| IBinaryInteger<Char>.TryWriteBigEndian(Span<Byte>, Int32) |
Versucht, den aktuellen Wert im Big-End-Format in einen bestimmten Bereich zu schreiben. |
| IBinaryInteger<Char>.TryWriteLittleEndian(Span<Byte>, Int32) |
Versucht, den aktuellen Wert in einem kleinen endischen Format in einen bestimmten Bereich zu schreiben. |
| IBinaryNumber<Char>.AllBitsSet |
Ruft eine Instanz des binären Typs ab, in der alle Bits festgelegt sind. |
| IBinaryNumber<Char>.IsPow2(Char) |
Bestimmt, ob ein Wert eine Potenz von zwei ist. |
| IBinaryNumber<Char>.Log2(Char) |
Berechnet das Protokoll2 eines Werts. |
| IBitwiseOperators<Char,Char,Char>.BitwiseAnd(Char, Char) |
Berechnet die bitweise und von zwei Werten. |
| IBitwiseOperators<Char,Char,Char>.BitwiseOr(Char, Char) |
Berechnet die bitweise oder zwei Werte. |
| IBitwiseOperators<Char,Char,Char>.ExclusiveOr(Char, Char) |
Berechnet die exklusiven oder zwei Werte. |
| IBitwiseOperators<Char,Char,Char>.OnesComplement(Char) |
Berechnet die Darstellung eines bestimmten Werts. |
| IComparable.CompareTo(Object) |
Vergleicht die aktuelle instance mit einem anderen Objekt desselben Typs und gibt eine ganze Zahl zurück, die angibt, ob das aktuelle instance vorangestellt, folgt oder an derselben Position in der Sortierreihenfolge wie das andere Objekt vorkommt. |
| IComparisonOperators<Char,Char,Boolean>.GreaterThan(Char, Char) |
Vergleicht zwei Werte, um zu bestimmen, welche größer ist. |
| IComparisonOperators<Char,Char,Boolean>.GreaterThanOrEqual(Char, Char) |
Vergleicht zwei Werte, um zu bestimmen, welche größer oder gleich sind. |
| IComparisonOperators<Char,Char,Boolean>.LessThan(Char, Char) |
Vergleicht zwei Werte, um zu bestimmen, welche werte kleiner sind. |
| IComparisonOperators<Char,Char,Boolean>.LessThanOrEqual(Char, Char) |
Vergleicht zwei Werte, um zu bestimmen, welche kleiner oder gleich ist. |
| IConvertible.GetTypeCode() |
Gibt die TypeCode Für diese Instanz zurück. |
| IConvertible.ToBoolean(IFormatProvider) |
Hinweis Diese Konvertierung wird nicht unterstützt. Wenn Sie versuchen, dies zu tun, wird ein InvalidCastException ausgelöst. |
| IConvertible.ToByte(IFormatProvider) |
Eine Beschreibung dieses Mitglieds finden Sie unter ToByte(IFormatProvider). |
| IConvertible.ToChar(IFormatProvider) |
Eine Beschreibung dieses Mitglieds finden Sie unter ToChar(IFormatProvider). |
| IConvertible.ToDateTime(IFormatProvider) |
Hinweis Diese Konvertierung wird nicht unterstützt. Wenn Sie versuchen, dies zu tun, wird ein InvalidCastException ausgelöst. |
| IConvertible.ToDecimal(IFormatProvider) |
Hinweis Diese Konvertierung wird nicht unterstützt. Wenn Sie versuchen, dies zu tun, wird ein InvalidCastException ausgelöst. |
| IConvertible.ToDouble(IFormatProvider) |
Hinweis Diese Konvertierung wird nicht unterstützt. Wenn Sie versuchen, dies zu tun, wird ein InvalidCastException ausgelöst. |
| IConvertible.ToInt16(IFormatProvider) |
Eine Beschreibung dieses Mitglieds finden Sie unter ToInt16(IFormatProvider). |
| IConvertible.ToInt32(IFormatProvider) |
Eine Beschreibung dieses Mitglieds finden Sie unter ToInt32(IFormatProvider). |
| IConvertible.ToInt64(IFormatProvider) |
Eine Beschreibung dieses Mitglieds finden Sie unter ToInt64(IFormatProvider). |
| IConvertible.ToSByte(IFormatProvider) |
Eine Beschreibung dieses Mitglieds finden Sie unter ToSByte(IFormatProvider). |
| IConvertible.ToSingle(IFormatProvider) |
Hinweis Diese Konvertierung wird nicht unterstützt. Wenn Sie versuchen, dies zu tun, wird ein InvalidCastException ausgelöst. |
| IConvertible.ToString(IFormatProvider) |
Konvertiert den Wert dieser Instanz in eine entsprechende Zeichenfolge, wobei die angegebenen kulturspezifischen Formatierungsinformationen verwendet werden. |
| IConvertible.ToType(Type, IFormatProvider) |
Eine Beschreibung dieses Mitglieds finden Sie unter ToType(Type, IFormatProvider). |
| IConvertible.ToUInt16(IFormatProvider) |
Eine Beschreibung dieses Mitglieds finden Sie unter ToUInt16(IFormatProvider). |
| IConvertible.ToUInt32(IFormatProvider) |
Eine Beschreibung dieses Mitglieds finden Sie unter ToUInt32(IFormatProvider). |
| IConvertible.ToUInt64(IFormatProvider) |
Eine Beschreibung dieses Mitglieds finden Sie unter ToUInt64(IFormatProvider). |
| IDecrementOperators<Char>.CheckedDecrement(Char) |
Erhöht einen Wert. |
| IDecrementOperators<Char>.Decrement(Char) |
Erhöht einen Wert. |
| IDivisionOperators<Char,Char,Char>.Division(Char, Char) |
Dividiert einen Wert durch einen anderen, um seinen Quotienten zu berechnen. |
| IEqualityOperators<Char,Char,Boolean>.Equality(Char, Char) |
Vergleicht zwei Werte, um die Gleichheit zu bestimmen. |
| IEqualityOperators<Char,Char,Boolean>.Inequality(Char, Char) |
Vergleicht zwei Werte zur Bestimmung der Ungleichheit. |
| IFormattable.ToString(String, IFormatProvider) |
Formatiert den Wert der aktuellen Instanz mithilfe des angegebenen Formats. |
| IIncrementOperators<Char>.CheckedIncrement(Char) |
Erhöht einen Wert. |
| IIncrementOperators<Char>.Increment(Char) |
Erhöht einen Wert. |
| IMinMaxValue<Char>.MaxValue |
Ruft den Maximalwert des aktuellen Typs ab. |
| IMinMaxValue<Char>.MinValue |
Ruft den Minimalwert des aktuellen Typs ab. |
| IModulusOperators<Char,Char,Char>.Modulus(Char, Char) |
Dividiert zwei Werte zusammen, um deren Modul oder Rest zu berechnen. |
| IMultiplicativeIdentity<Char,Char>.MultiplicativeIdentity |
Ruft die multiplizierte Identität des aktuellen Typs ab. |
| IMultiplyOperators<Char,Char,Char>.CheckedMultiply(Char, Char) |
Multipliziert zwei Werte zusammen, um ihr Produkt zu berechnen. |
| IMultiplyOperators<Char,Char,Char>.Multiply(Char, Char) |
Multipliziert zwei Werte zusammen, um ihr Produkt zu berechnen. |
| INumberBase<Char>.Abs(Char) |
Berechnet den absoluten Wert. |
| INumberBase<Char>.IsCanonical(Char) |
Bestimmt, ob sich ein Wert in seiner kanonischen Darstellung befindet. |
| INumberBase<Char>.IsComplexNumber(Char) |
Bestimmt, ob ein Wert eine komplexe Zahl darstellt. |
| INumberBase<Char>.IsEvenInteger(Char) |
Bestimmt, ob ein Wert eine gerade integrale Zahl darstellt. |
| INumberBase<Char>.IsFinite(Char) |
Bestimmt, ob ein Wert endlich ist. |
| INumberBase<Char>.IsImaginaryNumber(Char) |
Bestimmt, ob ein Wert eine reine imaginäre Zahl darstellt. |
| INumberBase<Char>.IsInfinity(Char) |
Bestimmt, ob ein Wert unendlich ist. |
| INumberBase<Char>.IsInteger(Char) |
Bestimmt, ob ein Wert eine integrale Zahl darstellt. |
| INumberBase<Char>.IsNaN(Char) |
Bestimmt, ob ein Wert NaN ist. |
| INumberBase<Char>.IsNegative(Char) |
Bestimmt, ob ein Wert negativ ist. |
| INumberBase<Char>.IsNegativeInfinity(Char) |
Bestimmt, ob ein Wert negative Unendlichkeit ist. |
| INumberBase<Char>.IsNormal(Char) |
Bestimmt, ob ein Wert normal ist. |
| INumberBase<Char>.IsOddInteger(Char) |
Bestimmt, ob ein Wert eine ungerade integrale Zahl darstellt. |
| INumberBase<Char>.IsPositive(Char) |
Bestimmt, ob ein Wert positiv ist. |
| INumberBase<Char>.IsPositiveInfinity(Char) |
Bestimmt, ob ein Wert positive Unendlichkeit ist. |
| INumberBase<Char>.IsRealNumber(Char) |
Bestimmt, ob ein Wert eine reelle Zahl darstellt. |
| INumberBase<Char>.IsSubnormal(Char) |
Bestimmt, ob ein Wert subnormal ist. |
| INumberBase<Char>.IsZero(Char) |
Bestimmt, ob ein Wert null ist. |
| INumberBase<Char>.MaxMagnitude(Char, Char) |
Vergleicht zwei Werte mit der Berechnung, die größer ist. |
| INumberBase<Char>.MaxMagnitudeNumber(Char, Char) |
Vergleicht zwei Werte, um zu berechnen, die die größere Größe aufweisen und den anderen Wert zurückgeben, wenn eine Eingabe ist |
| INumberBase<Char>.MinMagnitude(Char, Char) |
Vergleicht zwei Werte mit der Berechnung, die kleiner ist. |
| INumberBase<Char>.MinMagnitudeNumber(Char, Char) |
Vergleicht zwei Werte mit der Berechnung, die die geringere Größe aufweist und den anderen Wert zurückgibt, wenn eine Eingabe ist |
| INumberBase<Char>.MultiplyAddEstimate(Char, Char, Char) |
Berechnet eine Schätzung von ( |
| INumberBase<Char>.One |
Ruft den Wert |
| INumberBase<Char>.Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Analysiert eine Spanne von Zeichen in einen Wert. |
| INumberBase<Char>.Parse(String, NumberStyles, IFormatProvider) |
Analysiert eine Zeichenfolge in einen Wert. |
| INumberBase<Char>.Radix |
Ruft die Basis für den Typ ab. |
| INumberBase<Char>.TryConvertFromChecked<TOther>(TOther, Char) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| INumberBase<Char>.TryConvertFromSaturating<TOther>(TOther, Char) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| INumberBase<Char>.TryConvertFromTruncating<TOther>(TOther, Char) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| INumberBase<Char>.TryConvertToChecked<TOther>(Char, TOther) |
Versucht, eine Instanz des aktuellen Typs in einen anderen Typ zu konvertieren und löst eine Überlaufausnahme für alle Werte aus, die außerhalb des darstellbaren Bereichs des aktuellen Typs liegen. |
| INumberBase<Char>.TryConvertToSaturating<TOther>(Char, TOther) |
Versucht, eine Instanz des aktuellen Typs in einen anderen Typ zu konvertieren und alle Werte zu sättigungen, die außerhalb des darstellbaren Bereichs des aktuellen Typs liegen. |
| INumberBase<Char>.TryConvertToTruncating<TOther>(Char, TOther) |
Versucht, eine Instanz des aktuellen Typs in einen anderen Typ zu konvertieren, wobei alle Werte abgeschnitten werden, die außerhalb des darstellbaren Bereichs des aktuellen Typs liegen. |
| INumberBase<Char>.TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Char) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| INumberBase<Char>.TryParse(String, NumberStyles, IFormatProvider, Char) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| INumberBase<Char>.Zero |
Ruft den Wert |
| IParsable<Char>.Parse(String, IFormatProvider) |
Analysiert eine Zeichenfolge in einen Wert. |
| IParsable<Char>.TryParse(String, IFormatProvider, Char) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| IShiftOperators<Char,Int32,Char>.LeftShift(Char, Int32) |
Verschiebt einen Wert um einen bestimmten Betrag nach links. |
| IShiftOperators<Char,Int32,Char>.RightShift(Char, Int32) |
Verschiebt einen Wert um einen bestimmten Betrag nach rechts. |
| IShiftOperators<Char,Int32,Char>.UnsignedRightShift(Char, Int32) |
Verschiebt einen Wert um einen bestimmten Betrag nach rechts. |
| ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Versucht, den Wert der aktuellen Instanz in die bereitgestellte Zeichenspanne zu formatieren. |
| ISpanParsable<Char>.Parse(ReadOnlySpan<Char>, IFormatProvider) |
Analysiert eine Spanne von Zeichen in einen Wert. |
| ISpanParsable<Char>.TryParse(ReadOnlySpan<Char>, IFormatProvider, Char) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| ISubtractionOperators<Char,Char,Char>.CheckedSubtraction(Char, Char) |
Subtrahiert zwei Werte, um ihre Differenz zu berechnen. |
| ISubtractionOperators<Char,Char,Char>.Subtraction(Char, Char) |
Subtrahiert zwei Werte, um ihre Differenz zu berechnen. |
| IUnaryNegationOperators<Char,Char>.CheckedUnaryNegation(Char) |
Berechnet die überprüfte unäre Negation eines Werts. |
| IUnaryNegationOperators<Char,Char>.UnaryNegation(Char) |
Berechnet die unäre Negation eines Werts. |
| IUnaryPlusOperators<Char,Char>.UnaryPlus(Char) |
Berechnet das unäre Pluszeichen eines Werts. |
| IUtf8SpanFormattable.TryFormat(Span<Byte>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Versucht, den Wert der aktuellen Instanz als UTF-8 in die bereitgestellte Bytespanne zu formatieren. |
| IUtf8SpanParsable<Char>.Parse(ReadOnlySpan<Byte>, IFormatProvider) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
| IUtf8SpanParsable<Char>.TryParse(ReadOnlySpan<Byte>, IFormatProvider, Char) |
Stellt ein Zeichen als UTF-16-Codeeinheit dar. |
Gilt für:
Threadsicherheit
Alle Elemente dieses Typs sind threadsicher. Elemente, die den Instanzstatus ändern möchten, geben tatsächlich eine neue Instanz zurück, die mit dem neuen Wert initialisiert wurde. Wie bei jedem anderen Typ muss das Lesen und Schreiben in eine freigegebene Variable, die eine Instanz dieses Typs enthält, durch eine Sperre geschützt werden, um die Threadsicherheit zu gewährleisten.