Char Char Char Char Struct

Definice

Představuje znak jako jednotku kódu UTF-16.Represents a character as a UTF-16 code unit.

public value class Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
type char = struct
    interface IConvertible
Public Structure Char
Implements IComparable, IComparable(Of Char), IConvertible, IEquatable(Of Char)
Dědičnost
Atributy
Implementuje

Příklady

Následující příklad kódu ukazuje některé z metod v Char.The following code example demonstrates some of the methods in Char.

using namespace System;
int 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' ); // Output: "x"
}

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"
    }
}
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

Poznámky

.NET Framework.NET Framework PoužívástrukturukeChar znázornění znaku Unicode.The .NET Framework.NET Framework uses the Char structure to represent a Unicode character. Standard Unicode identifikuje každý znak Unicode s jedinečným rozměrným skalárním číslem, který se označuje jako bod kódu, a definuje formát UTF-16, který určuje, jak je bod kódu kódovaný, do sekvence jedné nebo více 16bitových hodnot.The Unicode Standard identifies each Unicode character with a unique 21-bit scalar number called a code point, and defines the UTF-16 encoding form that specifies how a code point is encoded into a sequence of one or more 16-bit values. Každý 16bitový rozsah hodnot z hexadecimálního 0x0000 do hodnoty 0xFFFF a je uložen ve Char struktuře.Each 16-bit value ranges from hexadecimal 0x0000 through 0xFFFF and is stored in a Char structure. Hodnota Char objektu je jeho 16bitová číselná hodnota (Ordinal).The value of a Char object is its 16-bit numeric (ordinal) value.

V následujících částech je prozkoumávat vztah mezi Char objektem a znakem a diskutovat některé běžné úlohy prováděné s Char instancemi.The following sections examine the relationship between a Char object and a character and discuss some common tasks performed with Char instances.

Char – objekty, znaky Unicode a řetězce Char objects, Unicode characters, and strings
Znaky a kategorie znaků Characters and character categories
Znaky a textové prvky Characters and text elements
Běžné operace Common operations
Hodnoty znaků a spolupráceChar values and interop

Char – objekty, znaky Unicode a řetězceChar objects, Unicode characters, and strings

Objekt je sekvenční Char kolekce struktur, která představuje textový řetězec. StringA String object is a sequential collection of Char structures that represents a string of text. Většina znaků Unicode může být reprezentována jediným Char objektem, ale znak, který je kódovaný jako základní znak, náhradní pár a/nebo kombinace znakových sekvencí, je reprezentován Char více objekty.Most Unicode characters can be represented by a single Char object, but a character that is encoded as a base character, surrogate pair, and/or combining character sequence is represented by multiple Char objects. Z tohoto důvodu Char struktura String v objektu nemusí nutně odpovídat jednomu znaku Unicode.For this reason, a Char structure in a String object is not necessarily equivalent to a single Unicode character.

K reprezentaci jednotlivých znaků Unicode v následujících případech slouží více 16bitových jednotek kódu:Multiple 16-bit code units are used to represent single Unicode characters in the following cases:

  • Glyfy, které mohou obsahovat jeden znak nebo základní znak následovaný jedním nebo více kombinací znaků.Glyphs, which may consist of a single character or of a base character followed by one or more combining characters. Například znak ä je reprezentován Char objektem, jehož kód jednotky je u + 0061 následovaný objektem, Char jehož kódová jednotka je U + 0308.For example, the character ä is represented by a Char object whose code unit is U+0061 followed by a Char object whose code unit is U+0308. (Znaková ä může být také definována jediným Char objektem, který má jednotku kódu u + 00E4.) Následující příklad ukazuje, že znak ä se skládá ze dvou Char objektů.(The character ä can also be defined by a single Char object that has a code unit of U+00E4.) The following example illustrates that the character ä consists of two Char objects.

    using System;
    using System.IO;
    
    public class Example
    {
       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:
    //       ä
    
    Imports System.IO
    
    Module Example
       Public Sub Main()
          Dim sw As New StreamWriter("chars1.txt")
          Dim chars() As Char = { ChrW(&h0061), ChrW(&h0308) }
          Dim strng As New String(chars)
          sw.WriteLine(strng) 
          sw.Close()
       End Sub
    End Module
    ' The example produces the following output:
    '       ä
    
  • Znaky mimo sadu Unicode úrovně Basic (BMP).Characters outside the Unicode Basic Multilingual Plane (BMP). Kódování Unicode podporuje až 16 rovin kromě BMP, který představuje plochu 0.Unicode supports sixteen planes in addition to the BMP, which represents plane 0. Bod kódu Unicode je reprezentován v kódování UTF-32 hodnotou 21 bitů, která zahrnuje rovinu.A Unicode code point is represented in UTF-32 by a 21-bit value that includes the plane. Například U + 1D160 představuje hudební SYMBOL osmá poznámku.For example, U+1D160 represents the MUSICAL SYMBOL EIGHTH NOTE character. Vzhledem k tomu, že kódování UTF-16 má pouze 16 bitů, znaky mimo BMP jsou reprezentovány náhradními páry v kódování UTF-16.Because UTF-16 encoding has only 16 bits, characters outside the BMP are represented by surrogate pairs in UTF-16. Následující příklad ilustruje, že ekvivalent UTF-32 z U + 1D160, hudební SYMBOL osmého poznámky, je U + D834 U + DD60.The following example illustrates that the UTF-32 equivalent of U+1D160, the MUSICAL SYMBOL EIGHTH NOTE character, is U+D834 U+DD60. U + D834 je vysoká náhrada; rozsahy vysoké náhrady od U + D800 až U + DBFF.U+D834 is the high surrogate; high surrogates range from U+D800 through U+DBFF. U + DD60 je nízká náhrada; malá náhrada rozsahu od U + DC00 až U + DFFF.U+DD60 is the low surrogate; low surrogates range from U+DC00 through U+DFFF.

    using System;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          StreamWriter sw = new StreamWriter(@".\chars2.txt");
          int utf32 = 0x1D160;
          string surrogate = Char.ConvertFromUtf32(utf32);
          sw.WriteLine("U+{0:X6} UTF-32 = {1} ({2}) UTF-16", 
                       utf32, surrogate, ShowCodePoints(surrogate));
          sw.Close();                    
       }
    
       private static string ShowCodePoints(string value)
       {
          string retval = null;
          foreach (var ch in value)
             retval += String.Format("U+{0:X4} ", Convert.ToUInt16(ch));
    
          return retval.Trim();
       }
    }
    // The example produces the following output:
    //       U+01D160 UTF-32 = ð (U+D834 U+DD60) UTF-16
    
    Imports System.IO
    
    Module Example
       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
    

Znaky a kategorie znakůCharacters and character categories

Každý znak Unicode nebo platný náhradní pár patří do kategorie Unicode.Each Unicode character or valid surrogate pair belongs to a Unicode category. V .NET Framework kategorie sady Unicode jsou reprezentovány UnicodeCategory členy výčtu a obsahují hodnoty UnicodeCategory.CurrencySymbol, jako například, UnicodeCategory.LowercaseLettera UnicodeCategory.SpaceSeparator.In the .NET Framework, Unicode categories are represented by members of the UnicodeCategory enumeration and include values such as UnicodeCategory.CurrencySymbol, UnicodeCategory.LowercaseLetter, and UnicodeCategory.SpaceSeparator, for example.

Chcete-li určit kategorii Unicode znaku, zavoláte GetUnicodeCategory metodu.To determine the Unicode category of a character, you call the GetUnicodeCategory method. Například následující příklad volá GetUnicodeCategory příkaz pro zobrazení kategorie Unicode každého znaku v řetězci.For example, the following example calls the GetUnicodeCategory to display the Unicode category of each character in a 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("'{0}': {1}", 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 Example
   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ě pro znaky mimo rozsah ASCII (u + 0000 až U + 00ff) GetUnicodeCategory metoda závisí na kategoriích Unicode hlášených CharUnicodeInfo třídou.Internally, for characters outside the ASCII range (U+0000 through U+00FF), the GetUnicodeCategory method depends on Unicode categories reported by the CharUnicodeInfo class. Počínaje verzí jsou znaky Unicode klasifikované na základě standardu Unicode verze 8.0.0. .NET Framework 4.6.2.NET Framework 4.6.2Starting with the .NET Framework 4.6.2.NET Framework 4.6.2, Unicode characters are classified based on The Unicode Standard, Version 8.0.0. Ve verzích .NET Framework od .NET Framework 4.NET Framework 4 .NET Framework 4.6.1.NET Framework 4.6.1do, jsou klasifikovány na základě standardu Unicode verze 6.3.0.In versions of the .NET Framework from the .NET Framework 4.NET Framework 4 to the .NET Framework 4.6.1.NET Framework 4.6.1, they are classified based on The Unicode Standard, Version 6.3.0.

Znaky a textové prvkyCharacters and text elements

Vzhledem k tomu, že jeden znak může být Char reprezentován více objekty, není vždy smysluplný pracovat s jednotlivými Char objekty.Because a single character can be represented by multiple Char objects, it is not always meaningful to work with individual Char objects. Například následující příklad převede body kódu Unicode reprezentující čísla v Egejském moři nula až 9 na jednotky kódované v kódování UTF-16.For instance, the following example converts the Unicode code points that represent the Aegean numbers zero through 9 to UTF-16 encoded code units. Vzhledem k tomu, že se Char nesprávně shodují objekty se znaky, nepřesně oznamuje, že výsledný řetězec má 20 znaků.Because it erroneously equates Char objects with characters, it inaccurately reports that the resulting string has 20 characters.

using System;

public class Example
{
   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 {0} characters.", result.Length); 
   }
}
// The example displays the following output:
//     The string contains 20 characters.
Module Example
   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.

Můžete provést následující postup, chcete-li se vyhnout předpokladu, že Char objekt představuje jeden znak.You can do the following to avoid the assumption that a Char object represents a single character.

  • Můžete pracovat s String objektem v celém rozsahu místo práce s jeho jednotlivými znaky pro reprezentaci a analýzu jazykového obsahu.You can work with a String object in its entirety instead of working with its individual characters to represent and analyze linguistic content.

  • StringInfo Třídu lze použít pro práci s textovými prvky namísto jednotlivých Char objektů.You can use the StringInfo class to work with text elements instead of individual Char objects. Následující příklad používá StringInfo objekt k výpočtu počtu textových prvků v řetězci, který se skládá z čísel v Egejském moři nula až 9.The following example uses the StringInfo object to count the number of text elements in a string that consists of the Aegean numbers zero through nine. Vzhledem k tomu, že se pokládá za náhradní pár jedním znakem, správně hlásí, že řetězec obsahuje deset znaků.Because it considers a surrogate pair a single character, it correctly reports that the string contains ten characters.

    using System;
    using System.Globalization;
    
    public class Example
    {
       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 {0} characters.", 
                            si.LengthInTextElements); 
       }
    }
    // The example displays the following output:
    //       The string contains 10 characters.
    
    Imports System.Globalization
    
    Module Example
       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.
    
  • Pokud řetězec obsahuje základní znak, který obsahuje jeden nebo více kombinací znaků, můžete zavolat String.Normalize metodu pro převod podřetězce na jednu jednotku kódovaného kódu UTF-16.If a string contains a base character that has one or more combining characters, you can call the String.Normalize method to convert the substring to a single UTF-16 encoded code unit. V následujícím příkladu je volána String.Normalize metoda pro převod základního znaku u + 0061 (malé písmeno latinky A) a kombinace znaku U + 0308 (s kombinovanými tečkami) do U + 00E4 (malé písmeno latinky a s dvěma tečkami).The following example calls the String.Normalize method to convert the base character U+0061 (LATIN SMALL LETTER A) and combining character U+0308 (COMBINING DIAERESIS) to U+00E4 (LATIN SMALL LETTER A WITH DIAERESIS).

    using System;
    
    public class Example
    {
       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: {0} (", s.Length);
          for (int ctr = 0; ctr < s.Length; ctr++) {
             Console.Write("U+{0:X4}", Convert.ToUInt16(s[ctr]));
             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)
    
    Module Example
       Public Sub Main()
          Dim combining As String = ChrW(&h0061) + ChrW(&h0308)
          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)
    

Běžné operaceCommon operations

Struktura poskytuje metody pro porovnání Char objektů, převod hodnoty aktuálního Char objektu na objekt jiného typu a určení kategorie Char Unicode objektu: CharThe Char structure provides methods to compare Char objects, convert the value of the current Char object to an object of another type, and determine the Unicode category of a Char object:

K tomuTo do this Použijte tyto System.Char metodyUse these System.Char methods
Porovnat Char objektyCompare Char objects CompareTo a EqualsCompareTo and Equals
Převod bodu kódu na řetězecConvert a code point to a string ConvertFromUtf32
Převod objektu nebo náhradního Char páru objektů na bod kódu CharConvert a Char object or a surrogate pair of Char objects to a code point Pro jeden znak:Convert.ToInt32(Char)For a single character: Convert.ToInt32(Char)

Náhradní pár nebo znak v řetězci:Char.ConvertToUtf32For a surrogate pair or a character in a string: Char.ConvertToUtf32
Získání kategorie Unicode znakuGet the Unicode category of a character GetUnicodeCategory
Určí, zda je znak v určité kategorii kódování Unicode, například číslice, písmeno, interpunkční znaménko, řídicí znak a tak dále.Determine whether a character is in a particular Unicode category such as digit, letter, punctuation, control character, and so on IsControl, IsDigit ,IsHighSurrogate, ,IsLetterOrDigit, ,IsLower ,IsSymbol,,,,,, aIsUpper IsSeparator IsPunctuation IsLowSurrogate IsNumber IsLetter IsSurrogate IsSurrogatePairIsWhiteSpaceIsControl, IsDigit, IsHighSurrogate, IsLetter, IsLetterOrDigit, IsLower, IsLowSurrogate, IsNumber, IsPunctuation, IsSeparator, IsSurrogate, IsSurrogatePair, IsSymbol, IsUpper, and IsWhiteSpace
Char Převést objekt, který představuje číslo na typ číselné hodnotyConvert a Char object that represents a number to a numeric value type GetNumericValue
Převod znaku v řetězci na Char objektConvert a character in a string into a Char object Parse a TryParseParse and TryParse
Char Převod objektuString na objektConvert a Char object to a String object ToString
Změna velikosti Char objektuChange the case of a Char object ToLower, ToLowerInvariant, ToUpperaToUpperInvariantToLower, ToLowerInvariant, ToUpper, and ToUpperInvariant

Hodnoty znaků a spolupráceChar values and interop

Pokud se spravovaný Char typ, který je reprezentován jako jednotka kódované znakové sady Unicode UTF-16, předává nespravovanému kódu, zařazovací služba interoperability ve výchozím nastavení převede znakovou sadu na ANSI.When a managed Char type, which is represented as a Unicode UTF-16 encoded code unit, is passed to unmanaged code, the interop marshaler converts the character set to ANSI by default. DllImportAttribute Atribut lze použít pro deklarace volání platformy StructLayoutAttribute a atribut na deklaraci zprostředkovatele komunikace s objekty COM pro řízení, který Char znaková sada používá zařazovací typ.You can apply the DllImportAttribute attribute to platform invoke declarations and the StructLayoutAttribute attribute to a COM interop declaration to control which character set a marshaled Char type uses.

Pole

MaxValue MaxValue MaxValue MaxValue

Představuje největší možnou hodnotu Char.Represents the largest possible value of a Char. Toto pole je konstantní.This field is constant.

MinValue MinValue MinValue MinValue

Představuje nejmenší možnou hodnotu Char.Represents the smallest possible value of a Char. Toto pole je konstantní.This field is constant.

Metody

CompareTo(Char) CompareTo(Char) CompareTo(Char) CompareTo(Char)

Porovná tuto instanci se zadaným Char objektem a určí, zda tato instance předchází, následuje nebo se zobrazí ve stejné pozici v pořadí řazení jako zadaný Char objekt.Compares this instance to a specified Char object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified Char object.

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

Porovná tuto instanci se zadaným objektem a určí, zda tato instance předchází, následuje nebo se zobrazí ve stejné pozici v pořadí řazení jako zadané Object.Compares this instance to a specified object and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified Object.

ConvertFromUtf32(Int32) ConvertFromUtf32(Int32) ConvertFromUtf32(Int32) ConvertFromUtf32(Int32)

Převede zadaný bod kódu Unicode na řetězec kódovaný v kódování UTF-16.Converts the specified Unicode code point into a UTF-16 encoded string.

ConvertToUtf32(Char, Char) ConvertToUtf32(Char, Char) ConvertToUtf32(Char, Char) ConvertToUtf32(Char, Char)

Převede hodnotu náhradního páru kódovaného ve formátu UTF-16 na bod kódu Unicode.Converts the value of a UTF-16 encoded surrogate pair into a Unicode code point.

ConvertToUtf32(String, Int32) ConvertToUtf32(String, Int32) ConvertToUtf32(String, Int32) ConvertToUtf32(String, Int32)

Převede hodnotu znaku kódování UTF-16 nebo náhradního páru na zadané pozici v řetězci na bod kódu Unicode.Converts the value of a UTF-16 encoded character or surrogate pair at a specified position in a string into a Unicode code point.

Equals(Char) Equals(Char) Equals(Char) Equals(Char)

Vrátí hodnotu, která označuje, zda je tato instance rovna zadanému Char objektu.Returns a value that indicates whether this instance is equal to the specified Char object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Vrací hodnotu, která určuje, zda je tato instance rovna zadanému objektu.Returns a value that indicates whether this instance is equal to a specified object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Vrátí kód hash této instance.Returns the hash code for this instance.

GetNumericValue(String, Int32) GetNumericValue(String, Int32) GetNumericValue(String, Int32) GetNumericValue(String, Int32)

Převede číselný znak Unicode na zadané pozici v zadaném řetězci na číslo s plovoucí desetinnou čárkou s dvojitou přesností.Converts the numeric Unicode character at the specified position in a specified string to a double-precision floating point number.

GetNumericValue(Char) GetNumericValue(Char) GetNumericValue(Char) GetNumericValue(Char)

Převede zadaný numerický znak Unicode na číslo s plovoucí desetinnou čárkou s dvojitou přesností.Converts the specified numeric Unicode character to a double-precision floating point number.

GetTypeCode() GetTypeCode() GetTypeCode() GetTypeCode()

Vrátí hodnotu Charpro typ hodnoty. TypeCodeReturns the TypeCode for value type Char.

GetUnicodeCategory(Char) GetUnicodeCategory(Char) GetUnicodeCategory(Char) GetUnicodeCategory(Char)

Zařadí zadaný znak Unicode do skupiny označené jednou z UnicodeCategory hodnot.Categorizes a specified Unicode character into a group identified by one of the UnicodeCategory values.

GetUnicodeCategory(String, Int32) GetUnicodeCategory(String, Int32) GetUnicodeCategory(String, Int32) GetUnicodeCategory(String, Int32)

Zařadí znak na zadané pozici v zadaném řetězci do skupiny určené jednou z UnicodeCategory hodnot.Categorizes the character at the specified position in a specified string into a group identified by one of the UnicodeCategory values.

IsControl(Char) IsControl(Char) IsControl(Char) IsControl(Char)

Určuje, zda je zadaný znak Unicode zařazen jako řídicí znak.Indicates whether the specified Unicode character is categorized as a control character.

IsControl(String, Int32) IsControl(String, Int32) IsControl(String, Int32) IsControl(String, Int32)

Označuje, zda je znak na zadané pozici v zadaném řetězci zařazen jako řídicí znak.Indicates whether the character at the specified position in a specified string is categorized as a control character.

IsDigit(Char) IsDigit(Char) IsDigit(Char) IsDigit(Char)

Označuje, zda je zadaný znak Unicode zařazený jako desítková číslice.Indicates whether the specified Unicode character is categorized as a decimal digit.

IsDigit(String, Int32) IsDigit(String, Int32) IsDigit(String, Int32) IsDigit(String, Int32)

Označuje, zda je znak na zadané pozici v zadaném řetězci zařazen jako desítkovou číslici.Indicates whether the character at the specified position in a specified string is categorized as a decimal digit.

IsHighSurrogate(String, Int32) IsHighSurrogate(String, Int32) IsHighSurrogate(String, Int32) IsHighSurrogate(String, Int32)

Označuje, zda Char je objekt na zadané pozici v řetězci vysokým náhradou.Indicates whether the Char object at the specified position in a string is a high surrogate.

IsHighSurrogate(Char) IsHighSurrogate(Char) IsHighSurrogate(Char) IsHighSurrogate(Char)

Označuje, zda je Char zadaný objekt vysoké náhrady.Indicates whether the specified Char object is a high surrogate.

IsLetter(Char) IsLetter(Char) IsLetter(Char) IsLetter(Char)

Označuje, zda je zadaný znak Unicode zařazen do kategorie jako písmeno Unicode.Indicates whether the specified Unicode character is categorized as a Unicode letter.

IsLetter(String, Int32) IsLetter(String, Int32) IsLetter(String, Int32) IsLetter(String, Int32)

Označuje, zda je znak na zadané pozici v zadaném řetězci zařazen jako písmeno v kódování Unicode.Indicates whether the character at the specified position in a specified string is categorized as a Unicode letter.

IsLetterOrDigit(Char) IsLetterOrDigit(Char) IsLetterOrDigit(Char) IsLetterOrDigit(Char)

Označuje, zda je zadaný znak Unicode zařazen do kategorie jako písmeno nebo jako desítkovou číslici.Indicates whether the specified Unicode character is categorized as a letter or a decimal digit.

IsLetterOrDigit(String, Int32) IsLetterOrDigit(String, Int32) IsLetterOrDigit(String, Int32) IsLetterOrDigit(String, Int32)

Označuje, zda je znak na zadané pozici v zadaném řetězci zařazen jako písmeno nebo jako desítkovou číslici.Indicates whether the character at the specified position in a specified string is categorized as a letter or a decimal digit.

IsLower(Char) IsLower(Char) IsLower(Char) IsLower(Char)

Označuje, zda je zadaný znak Unicode zařazen do kategorie malými písmeny.Indicates whether the specified Unicode character is categorized as a lowercase letter.

IsLower(String, Int32) IsLower(String, Int32) IsLower(String, Int32) IsLower(String, Int32)

Označuje, zda je znak na zadané pozici v zadaném řetězci zařazen do kategorie malými písmeny.Indicates whether the character at the specified position in a specified string is categorized as a lowercase letter.

IsLowSurrogate(Char) IsLowSurrogate(Char) IsLowSurrogate(Char) IsLowSurrogate(Char)

Označuje, zda je Char zadaný objekt malým náhradou.Indicates whether the specified Char object is a low surrogate.

IsLowSurrogate(String, Int32) IsLowSurrogate(String, Int32) IsLowSurrogate(String, Int32) IsLowSurrogate(String, Int32)

Označuje, zda Char je objekt na zadané pozici v řetězci Nízká náhrada.Indicates whether the Char object at the specified position in a string is a low surrogate.

IsNumber(Char) IsNumber(Char) IsNumber(Char) IsNumber(Char)

Označuje, zda je zadaný znak Unicode zařazen do kategorie jako číslo.Indicates whether the specified Unicode character is categorized as a number.

IsNumber(String, Int32) IsNumber(String, Int32) IsNumber(String, Int32) IsNumber(String, Int32)

Označuje, zda je znak na zadané pozici v zadaném řetězci zařazen jako číslo.Indicates whether the character at the specified position in a specified string is categorized as a number.

IsPunctuation(Char) IsPunctuation(Char) IsPunctuation(Char) IsPunctuation(Char)

Označuje, zda je zadaný znak Unicode zařazen do kategorie jako interpunkční znaménko.Indicates whether the specified Unicode character is categorized as a punctuation mark.

IsPunctuation(String, Int32) IsPunctuation(String, Int32) IsPunctuation(String, Int32) IsPunctuation(String, Int32)

Označuje, zda je znak na zadané pozici v zadaném řetězci zařazen jako interpunkční znaménko.Indicates whether the character at the specified position in a specified string is categorized as a punctuation mark.

IsSeparator(Char) IsSeparator(Char) IsSeparator(Char) IsSeparator(Char)

Označuje, zda je zadaný znak Unicode zařazen jako znak oddělovače.Indicates whether the specified Unicode character is categorized as a separator character.

IsSeparator(String, Int32) IsSeparator(String, Int32) IsSeparator(String, Int32) IsSeparator(String, Int32)

Označuje, zda je znak na zadané pozici v zadaném řetězci zařazen jako znak oddělovače.Indicates whether the character at the specified position in a specified string is categorized as a separator character.

IsSurrogate(Char) IsSurrogate(Char) IsSurrogate(Char) IsSurrogate(Char)

Označuje, zda má zadaný znak jednotku náhradního kódu.Indicates whether the specified character has a surrogate code unit.

IsSurrogate(String, Int32) IsSurrogate(String, Int32) IsSurrogate(String, Int32) IsSurrogate(String, Int32)

Označuje, zda má znak na zadané pozici v zadaném řetězci jednotku náhradního kódu.Indicates whether the character at the specified position in a specified string has a surrogate code unit.

IsSurrogatePair(String, Int32) IsSurrogatePair(String, Int32) IsSurrogatePair(String, Int32) IsSurrogatePair(String, Int32)

Označuje, zda dva Char sousední objekty na zadané pozici v řetězci tvoří náhradní pár.Indicates whether two adjacent Char objects at a specified position in a string form a surrogate pair.

IsSurrogatePair(Char, Char) IsSurrogatePair(Char, Char) IsSurrogatePair(Char, Char) IsSurrogatePair(Char, Char)

Určuje, zda dva zadané Char objekty tvoří náhradní pár.Indicates whether the two specified Char objects form a surrogate pair.

IsSymbol(Char) IsSymbol(Char) IsSymbol(Char) IsSymbol(Char)

Označuje, zda je zadaný znak Unicode zařazen jako znak symbolu.Indicates whether the specified Unicode character is categorized as a symbol character.

IsSymbol(String, Int32) IsSymbol(String, Int32) IsSymbol(String, Int32) IsSymbol(String, Int32)

Označuje, zda je znak na zadané pozici v zadaném řetězci zařazen jako znak symbolu.Indicates whether the character at the specified position in a specified string is categorized as a symbol character.

IsUpper(Char) IsUpper(Char) IsUpper(Char) IsUpper(Char)

Označuje, zda je zadaný znak Unicode zařazen do kategorie velkými písmeny.Indicates whether the specified Unicode character is categorized as an uppercase letter.

IsUpper(String, Int32) IsUpper(String, Int32) IsUpper(String, Int32) IsUpper(String, Int32)

Označuje, zda je znak na zadané pozici v zadaném řetězci zařazen jako velké písmeno.Indicates whether the character at the specified position in a specified string is categorized as an uppercase letter.

IsWhiteSpace(Char) IsWhiteSpace(Char) IsWhiteSpace(Char) IsWhiteSpace(Char)

Označuje, zda je zadaný znak Unicode zařazen do kategorie prázdné znaky.Indicates whether the specified Unicode character is categorized as white space.

IsWhiteSpace(String, Int32) IsWhiteSpace(String, Int32) IsWhiteSpace(String, Int32) IsWhiteSpace(String, Int32)

Označuje, zda je znak na zadané pozici v zadaném řetězci zařazen do kategorie jako prázdné znaky.Indicates whether the character at the specified position in a specified string is categorized as white space.

Parse(String) Parse(String) Parse(String) Parse(String)

Převede hodnotu zadaného řetězce na jeho ekvivalentní znak Unicode.Converts the value of the specified string to its equivalent Unicode character.

ToLower(Char, CultureInfo) ToLower(Char, CultureInfo) ToLower(Char, CultureInfo) ToLower(Char, CultureInfo)

Převede hodnotu zadaného znaku Unicode na malý ekvivalent pomocí zadaných informací o formátování specifických pro jazykovou verzi.Converts the value of a specified Unicode character to its lowercase equivalent using specified culture-specific formatting information.

ToLower(Char) ToLower(Char) ToLower(Char) ToLower(Char)

Převede hodnotu znaku Unicode na jeho malý ekvivalent.Converts the value of a Unicode character to its lowercase equivalent.

ToLowerInvariant(Char) ToLowerInvariant(Char) ToLowerInvariant(Char) ToLowerInvariant(Char)

Převede hodnotu znaku Unicode na jeho malý ekvivalent pomocí pravidel malých a velkých písmen v neutrální jazykové verzi.Converts the value of a Unicode character to its lowercase equivalent using the casing rules of the invariant culture.

ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider) ToString(IFormatProvider)

Převede hodnotu této instance na její ekvivalentní řetězcové vyjádření pomocí zadaných informací o formátu specifické jazykové verze.Converts the value of this instance to its equivalent string representation using the specified culture-specific format information.

ToString(Char) ToString(Char) ToString(Char) ToString(Char)

Převede zadaný znak Unicode na odpovídající řetězcovou reprezentaci.Converts the specified Unicode character to its equivalent string representation.

ToString() ToString() ToString() ToString()

Převede hodnotu této instance na její odpovídající řetězcovou reprezentaci.Converts the value of this instance to its equivalent string representation.

ToUpper(Char, CultureInfo) ToUpper(Char, CultureInfo) ToUpper(Char, CultureInfo) ToUpper(Char, CultureInfo)

Převede hodnotu zadaného znaku Unicode na jeho velká ekvivalent pomocí zadaných informací o formátování specifických pro jazykovou verzi.Converts the value of a specified Unicode character to its uppercase equivalent using specified culture-specific formatting information.

ToUpper(Char) ToUpper(Char) ToUpper(Char) ToUpper(Char)

Převede hodnotu znaku Unicode na svůj ekvivalent na velká písmena.Converts the value of a Unicode character to its uppercase equivalent.

ToUpperInvariant(Char) ToUpperInvariant(Char) ToUpperInvariant(Char) ToUpperInvariant(Char)

Převede hodnotu znaku Unicode na svůj ekvivalent na velká písmena pomocí pravidel pro velká písmena neutrální jazykové verze.Converts the value of a Unicode character to its uppercase equivalent using the casing rules of the invariant culture.

TryParse(String, Char) TryParse(String, Char) TryParse(String, Char) TryParse(String, Char)

Převede hodnotu zadaného řetězce na jeho ekvivalentní znak Unicode.Converts the value of the specified string to its equivalent Unicode character. Návratový kód označuje, zda byl převod úspěšný nebo neúspěšný.A return code indicates whether the conversion succeeded or failed.

Explicitní implementace rozhraní

IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object) IComparable.CompareTo(Object)
IConvertible.GetTypeCode() IConvertible.GetTypeCode() IConvertible.GetTypeCode() IConvertible.GetTypeCode()
IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider) IConvertible.ToBoolean(IFormatProvider)

Poznámka: Tento převod není podporován.Note This conversion is not supported. Pokus o provedení vyvolá výjimku InvalidCastException.Attempting to do so throws an InvalidCastException.

IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider) IConvertible.ToByte(IFormatProvider)

Popis tohoto člena naleznete v tématu ToByte(IFormatProvider).For a description of this member, see ToByte(IFormatProvider).

IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider) IConvertible.ToChar(IFormatProvider)

Popis tohoto člena naleznete v tématu ToChar(IFormatProvider).For a description of this member, see ToChar(IFormatProvider).

IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider) IConvertible.ToDateTime(IFormatProvider)

Poznámka: Tento převod není podporován.Note This conversion is not supported. Pokus o provedení vyvolá výjimku InvalidCastException.Attempting to do so throws an InvalidCastException.

IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider) IConvertible.ToDecimal(IFormatProvider)

Poznámka: Tento převod není podporován.Note This conversion is not supported. Pokus o provedení vyvolá výjimku InvalidCastException.Attempting to do so throws an InvalidCastException.

IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider) IConvertible.ToDouble(IFormatProvider)

Poznámka: Tento převod není podporován.Note This conversion is not supported. Pokus o provedení vyvolá výjimku InvalidCastException.Attempting to do so throws an InvalidCastException.

IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider) IConvertible.ToInt16(IFormatProvider)

Popis tohoto člena naleznete v tématu ToInt16(IFormatProvider).For a description of this member, see ToInt16(IFormatProvider).

IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider) IConvertible.ToInt32(IFormatProvider)

Popis tohoto člena naleznete v tématu ToInt32(IFormatProvider).For a description of this member, see ToInt32(IFormatProvider).

IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider) IConvertible.ToInt64(IFormatProvider)

Popis tohoto člena naleznete v tématu ToInt64(IFormatProvider).For a description of this member, see ToInt64(IFormatProvider).

IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider) IConvertible.ToSByte(IFormatProvider)

Popis tohoto člena naleznete v tématu ToSByte(IFormatProvider).For a description of this member, see ToSByte(IFormatProvider).

IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider) IConvertible.ToSingle(IFormatProvider)

Poznámka: Tento převod není podporován.Note This conversion is not supported. Pokus o provedení vyvolá výjimku InvalidCastException.Attempting to do so throws an InvalidCastException.

IConvertible.ToString(IFormatProvider) IConvertible.ToString(IFormatProvider) IConvertible.ToString(IFormatProvider) IConvertible.ToString(IFormatProvider)
IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider) IConvertible.ToType(Type, IFormatProvider)

Popis tohoto člena naleznete v tématu ToType(Type, IFormatProvider).For a description of this member, see ToType(Type, IFormatProvider).

IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider) IConvertible.ToUInt16(IFormatProvider)

Popis tohoto člena naleznete v tématu ToUInt16(IFormatProvider).For a description of this member, see ToUInt16(IFormatProvider).

IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider) IConvertible.ToUInt32(IFormatProvider)

Popis tohoto člena naleznete v tématu ToUInt32(IFormatProvider).For a description of this member, see ToUInt32(IFormatProvider).

IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider) IConvertible.ToUInt64(IFormatProvider)

Popis tohoto člena naleznete v tématu ToUInt64(IFormatProvider).For a description of this member, see ToUInt64(IFormatProvider).

Platí pro

Bezpečný přístup z více vláken

Všechny členy tohoto typu jsou zabezpečeny pro přístup z více vláken.All members of this type are thread safe. Členy, které patrně upravují stav instance, ve skutečnosti vrací novou instanci inicializovanou s použitím nové hodnoty.Members that appear to modify instance state actually return a new instance initialized with the new value. Jako u jakéhokoli typu, čtení a zápis do sdílené proměnné, která obsahuje instanci tohoto typu, musí být chráněn zámkem, který zaručí bezpečný přístup z více vláken.As with any other type, reading and writing to a shared variable that contains an instance of this type must be protected by a lock to guarantee thread safety.

Viz také