Char Char Char Char Struct

定義

文字を 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)
継承
属性
実装

次のコード例では、メソッドの一部を示します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"
	}
}
imports System

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

注釈

.NET Framework.NET Frameworkを使用して、 Char Unicode 文字を表現する構造体。The .NET Framework.NET Framework uses the Char structure to represent a Unicode character. Unicode 規格では、各 Unicode 文字をコード ポイントと呼ばれる一意の 21 ビット スカラー番号で識別し、コード ポイントを 1 つ以上の 16 ビット値のシーケンスにエンコードする方法を指定する utf-16 エンコード形式を定義します。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. 各 16 ビット値が 16 進数の 0x0000 から 0 xffff の範囲とに格納されている場合は、Char構造体。Each 16-bit value ranges from hexadecimal 0x0000 through 0xFFFF and is stored in a Char structure. 値をCharオブジェクトが、16 ビット数 (序数) 値。The value of a Char object is its 16-bit numeric (ordinal) value.

次のセクションでは、確認の間のリレーションシップをCharオブジェクトと文字で実行されるいくつかの一般的なタスクについて説明しますとCharインスタンス。The following sections examine the relationship between a Char object and a character and discuss some common tasks performed with Char instances.

Char 型のオブジェクト、Unicode 文字および文字列 Char objects, Unicode characters, and strings
文字および文字のカテゴリ Characters and character categories
文字と text 要素 Characters and text elements
一般的な操作 Common operations
Char 値との相互運用機能Char values and interop

Char 型のオブジェクト、Unicode 文字および文字列Char objects, Unicode characters, and strings

AStringオブジェクトのシーケンシャル コレクションは、Charテキストの文字列を表す構造体。A String object is a sequential collection of Char structures that represents a string of text. ほとんどの Unicode 文字を 1 つで表現できるCharオブジェクト、基本の文字としてエンコードされる文字がサロゲート ペアや組み合わせ文字シーケンスが複数で表されるCharオブジェクト。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. このため、Char構造体、Stringオブジェクトは、必ずしも同一では 1 つの Unicode 文字にすることはありません。For this reason, a Char structure in a String object is not necessarily equivalent to a single Unicode character.

次の場合に 1 つの Unicode 文字を表す複数の 16 ビットのコード単位が使用されます。Multiple 16-bit code units are used to represent single Unicode characters in the following cases:

  • グリフ、または 1 つまたは複数の組み合わせ文字の後に、基本文字の単一の文字で構成されている可能性があります。Glyphs, which may consist of a single character or of a base character followed by one or more combining characters. たとえば、ä 文字が a で表されますCharオブジェクト単位は U + 0061 a 続くコードがCharコードは 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. (A の 1 つによって文字 ä を定義することもCharU + 00E4 のコード単位を含むオブジェクトです)。2 つの文字 ä で構成されている次の例を示していますCharオブジェクト。(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:
    '       ä
    
  • Unicode 基本多言語面 (BMP) 外の文字。Characters outside the Unicode Basic Multilingual Plane (BMP). Unicode では、だけでなく、BMP、0 面を表す 16 個の平面をサポートします。Unicode supports sixteen planes in addition to the BMP, which represents plane 0. Unicode コード ポイントは、utf-32 の平面が含まれる 21 ビットの値によって表されます。A Unicode code point is represented in UTF-32 by a 21-bit value that includes the plane. たとえば、U + 1D160 音符シンボル 8 分の文字を表します。For example, U+1D160 represents the MUSICAL SYMBOL EIGHTH NOTE character. Utf-16 エンコーディングは 16 ビットのみがあるため、BMP 外の文字は、utf-16 のサロゲート ペアで表されます。Because UTF-16 encoding has only 16 bits, characters outside the BMP are represented by surrogate pairs in UTF-16. 次の例では、U + 1D160、音符シンボル 8 番目の文字の utf-32 同等が 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 が上位サロゲートです。高サロゲート u+d800 から U+DBFF の範囲です。U+D834 is the high surrogate; high surrogates range from U+D800 through U+DBFF. U + DD60 が下位サロゲートです。低サロゲート u+dc00 から 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
    

文字および文字のカテゴリCharacters and character categories

各 Unicode 文字または有効なサロゲート ペアは、Unicode カテゴリに属しています。Each Unicode character or valid surrogate pair belongs to a Unicode category. .NET Framework では、Unicode カテゴリのメンバーによって表されます、UnicodeCategory列挙値を含めるとUnicodeCategory.CurrencySymbolUnicodeCategory.LowercaseLetter、および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.

文字の Unicode カテゴリを確認するを呼び出す、GetUnicodeCategoryメソッド。To determine the Unicode category of a character, you call the GetUnicodeCategory method. たとえば、次の例では、GetUnicodeCategory文字列内の各文字の Unicode カテゴリを表示します。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

(U + 0000 から U + 00 ff)、ASCII 範囲外の文字を内部的には、GetUnicodeCategoryメソッドによって報告された、Unicode カテゴリによって異なります、CharUnicodeInfoクラス。Internally, for characters outside the ASCII range (U+0000 through U+00FF), the GetUnicodeCategory method depends on Unicode categories reported by the CharUnicodeInfo class. 以降では、 .NET Framework 4.6.2.NET Framework 4.6.2、Unicode 文字を分類に基づいてUnicode 標準、バージョン 8.0.0します。Starting 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. .NET Framework のバージョンで、.NET Framework 4.NET Framework 4.NET Framework 4.6.1.NET Framework 4.6.1、その分類に基づいてUnicode 標準、バージョン 6.3.0In 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.

文字と text 要素Characters and text elements

複数で、1 つの文字を表現できるため、Charオブジェクトの場合は常に意味のある個人と作業しないCharオブジェクト。Because a single character can be represented by multiple Char objects, it is not always meaningful to work with individual Char objects. たとえば、次の例では、utf-16 でエンコードされたコード ユニットを Aegean 数字 0 ~ 9 を表す Unicode コード ポイントに変換します。For instance, the following example converts the Unicode code points that represent the Aegean numbers zero through 9 to UTF-16 encoded code units. 誤ってと同じですので、Charが正確にレポートではなく、結果の文字列が 20 文字を文字のオブジェクトします。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.

前提を回避するために、次を行うことができるCharオブジェクトは 1 つの文字を表します。You can do the following to avoid the assumption that a Char object represents a single character.

  • 使用することができます、Stringその個々 の文字を表し、言語のコンテンツを分析するではなく全体のオブジェクト。You can work with a String object in its entirety instead of working with its individual characters to represent and analyze linguistic content.

  • 使用することができます、StringInfo個人ではなくテキスト要素を使用するにはクラスCharオブジェクト。You can use the StringInfo class to work with text elements instead of individual Char objects. 次の例では、StringInfo番号が 0 から 9、Aegean で構成される文字列内のテキスト要素の数をカウントするオブジェクト。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. 1 つの文字はサロゲート ペアを考慮にされるため、文字列が 10 文字が含まれているを正しく報告します。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.
    
  • 文字列に 1 つまたは複数の組み合わせ文字を含む基本文字が含まれている場合を呼び出すことができます、String.Normalize部分文字列を 1 つの 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. 次の例では、 String.Normalize U + 00E4 基本文字 U + 0061 (ラテン文字 A) と組み合わせ文字 u+0308 (結合ウムラウト) に変換するメソッド (ラテン小さな文字 A でウムラウト)。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)
    

一般的な操作Common operations

Char構造体を比較するメソッドを提供するChar、オブジェクトが現在の値を変換Charオブジェクトを別の型のオブジェクトとの Unicode カテゴリを確認、Charオブジェクト。The 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:

目的To do this これらを使用して、System.CharメソッドUse these System.Char methods
比較CharオブジェクトCompare Char objects CompareTo および EqualsCompareTo and Equals
コード ポイントを文字列に変換します。Convert a code point to a string ConvertFromUtf32
変換をCharオブジェクトまたはのサロゲート ペアCharコード ポイントにオブジェクトConvert a Char object or a surrogate pair of Char objects to a code point 1 つの文字。 Convert.ToInt32(Char)For a single character: Convert.ToInt32(Char)

サロゲート ペアまたは文字列の文字の場合。 Char.ConvertToUtf32For a surrogate pair or a character in a string: Char.ConvertToUtf32
文字の Unicode カテゴリを取得します。Get the Unicode category of a character GetUnicodeCategory
制御文字の文字は、数字、文字、句読点などの特定の Unicode カテゴリでは、かどうかを決定します。Determine whether a character is in a particular Unicode category such as digit, letter, punctuation, control character, and so on IsControlIsDigitIsHighSurrogateIsLetterIsLetterOrDigitIsLowerIsLowSurrogateIsNumberIsPunctuationIsSeparatorIsSurrogateIsSurrogatePairIsSymbolIsUpper、と IsWhiteSpaceIsControl, IsDigit, IsHighSurrogate, IsLetter, IsLetterOrDigit, IsLower, IsLowSurrogate, IsNumber, IsPunctuation, IsSeparator, IsSurrogate, IsSurrogatePair, IsSymbol, IsUpper, and IsWhiteSpace
変換をChar数値型の数値を表すオブジェクトConvert a Char object that represents a number to a numeric value type GetNumericValue
文字列の文字変換をCharオブジェクトConvert a character in a string into a Char object Parse および TryParseParse and TryParse
変換をCharオブジェクトをStringオブジェクトConvert a Char object to a String object ToString
大文字と小文字の変更、CharオブジェクトChange the case of a Char object ToLowerToLowerInvariant, ToUpper、および ToUpperInvariantToLower, ToLowerInvariant, ToUpper, and ToUpperInvariant

Char 値との相互運用機能Char values and interop

ときにマネージCharUnicode utf-16 でエンコードされたコードの単位として表される、型がアンマネージ コードに渡されると、相互運用マーシャラーが既定で 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属性をプラットフォーム呼び出しの宣言とStructLayoutAttribute文字セットをマーシャ リングされたコントロールに COM 相互運用機能の宣言に属性Char用途を入力します。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.

フィールド

MaxValue MaxValue MaxValue MaxValue

Char の最大有効値を表します。 Represents the largest possible value of a Char. このフィールドは定数です。 This field is constant.

MinValue MinValue MinValue MinValue

Char の最小有効値を表します。 Represents the smallest possible value of a Char. このフィールドは定数です。 This field is constant.

方法

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

このインスタンスと指定した Char オブジェクトとを比較し、並べ替え順序において、このインスタンスの位置が指定した Char オブジェクトの前、後ろ、または同じのいずれであるかを示します。 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)

このインスタンスと指定したオブジェクトとを比較し、並べ替え順序において、このインスタンスの位置が指定した 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)

指定された Unicode コード ポイントを 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)

UTF-16 でエンコードされたサロゲート ペアの値を 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)

文字列中の指定位置にある UTF-16 エンコード文字またはサロゲート ペアの値を、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)

対象のインスタンスが、指定した Char オブジェクトに等しいかどうかを示す値を返します。 Returns a value that indicates whether this instance is equal to the specified Char object.

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

このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。 Returns a value that indicates whether this instance is equal to a specified object.

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

このインスタンスのハッシュ コードを返します。 Returns the hash code for this instance.

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

指定した文字列の指定位置にある Unicode の数字を倍精度浮動小数点数に変換します。 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)

指定された Unicode の数字を倍精度浮動小数点数に変換します。 Converts the specified numeric Unicode character to a double-precision floating point number.

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

TypeCode 値型の Char を返します。 Returns the TypeCode for value type Char.

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

指定された Unicode 文字を UnicodeCategory 値のいずれかで識別されるグループに分類します。 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)

指定した文字列の指定位置にある文字を UnicodeCategory 値のいずれかで識別されるグループに分類します。 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)

指定した Unicode 文字が、制御文字かどうかを示します。 Indicates whether the specified Unicode character is categorized as a control character.

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

指定した文字列の指定位置にある文字が制御文字かどうかを示します。 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)

指定した Unicode 文字が、10 進数の数字かどうかを示します。 Indicates whether the specified Unicode character is categorized as a decimal digit.

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

指定した文字列の指定位置にある文字が 10 進数の数字かどうかを示します。 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)

文字列中の指定された位置にある Char オブジェクトが、上位サロゲートであるかどうかを示します。 Indicates whether the Char object at the specified position in a string is a high surrogate.

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

指定された Char オブジェクトが上位サロゲートであるかどうかを示します。 Indicates whether the specified Char object is a high surrogate.

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

指定した Unicode 文字が 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)

指定した文字列の指定位置にある文字が、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)

指定した Unicode 文字が文字または 10 進数の数字なのかどうかを示します。 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)

指定した文字列の指定位置にある文字が文字または 10 進数の数字かどうかを示します。 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)

指定した Unicode 文字が小文字かどうかを示します。 Indicates whether the specified Unicode character is categorized as a lowercase letter.

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

指定した文字列の指定位置にある文字が、小文字かどうかを示します。 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)

指定された Char オブジェクトが下位サロゲートであるかどうかを示します。 Indicates whether the specified Char object is a low surrogate.

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

文字列のうち、指定された位置にある Char オブジェクトが、下位サロゲートであるかどうかを示します。 Indicates whether the Char object at the specified position in a string is a low surrogate.

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

指定された Unicode 文字が数字かどうかを示します。 Indicates whether the specified Unicode character is categorized as a number.

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

指定した文字列の指定位置にある文字が数字かどうかを示します。 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)

指定した Unicode 文字が区切り記号かどうかを示します。 Indicates whether the specified Unicode character is categorized as a punctuation mark.

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

指定した文字列の指定位置にある文字が区切り記号かどうかを示します。 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)

指定した Unicode 文字が区切り文字かどうかを示します。 Indicates whether the specified Unicode character is categorized as a separator character.

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

指定した文字列の指定位置にある文字が区切り文字かどうかを示します。 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)

指定した文字がサロゲート コード単位を持つかどうかを示します。 Indicates whether the specified character has a surrogate code unit.

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

指定した文字列の指定位置にある文字がサロゲート コード単位を持つかどうかを示します。 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)

文字列中の指定された位置で互いに隣接する 2 つの Char オブジェクトがサロゲート ペアを形成するかどうかを示します。 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)

指定された 2 つの Char オブジェクトがサロゲート ペアを形成するかどうかを示します。 Indicates whether the two specified Char objects form a surrogate pair.

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

指定した Unicode 文字が記号かどうかを示します。 Indicates whether the specified Unicode character is categorized as a symbol character.

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

指定した文字列の指定位置にある文字が記号かどうかを示します。 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)

指定した Unicode 文字が大文字かどうかを示します。 Indicates whether the specified Unicode character is categorized as an uppercase letter.

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

指定した文字列の指定位置にある文字が大文字かどうかを示します。 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)

指定した Unicode 文字が空白かどうかを示します。 Indicates whether the specified Unicode character is categorized as white space.

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

指定した文字列の指定位置にある文字が空白かどうかを示します。 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)

指定した文字列の値をそれと等価な 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)

指定したカルチャ固有の書式情報を使用して、指定した Unicode 文字の値をそれと等価な小文字へ変換します。 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)

Unicode 文字の値をそれと等価な小文字に変換します。 Converts the value of a Unicode character to its lowercase equivalent.

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

インバリアント カルチャの大文字と小文字の規則を使用して、Unicode 文字の値を対応する小文字表現に変換します。 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)

指定したカルチャ固有の書式情報を使用して、このインスタンスの値をそれと等価な文字列形式に変換します。 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)

指定した Unicode 文字をそれと等価な文字列形式に変換します。 Converts the specified Unicode character to its equivalent string representation.

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

このインスタンスの値を、それと等価の文字列形式に変換します。 Converts the value of this instance to its equivalent string representation.

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

指定したカルチャ固有の書式情報を使用して、指定した Unicode 文字の値をそれと等価な大文字へ変換します。 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)

Unicode 文字の値をそれと等価な大文字に変換します。 Converts the value of a Unicode character to its uppercase equivalent.

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

インバリアント カルチャの大文字と小文字の規則を使用して、Unicode 文字の値を対応する大文字表現に変換します。 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)

指定した文字列の値をそれと等価な Unicode 文字に変換します。 Converts the value of the specified string to its equivalent Unicode character. リターン コードは、変換が成功したか失敗したかを示します。 A return code indicates whether the conversion succeeded or failed.

明示的なインターフェイスの実装

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)

: この変換はサポートされていません。 Note This conversion is not supported. 変換を試みると、InvalidCastException がスローされます。 Attempting to do so throws an InvalidCastException.

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

このメンバーの詳細については、「ToByte(IFormatProvider)」をご覧ください。 For a description of this member, see ToByte(IFormatProvider).

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

このメンバーの詳細については、「ToChar(IFormatProvider)」をご覧ください。 For a description of this member, see ToChar(IFormatProvider).

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

: この変換はサポートされていません。 Note This conversion is not supported. 変換を試みると、InvalidCastException がスローされます。 Attempting to do so throws an InvalidCastException.

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

: この変換はサポートされていません。 Note This conversion is not supported. 変換を試みると、InvalidCastException がスローされます。 Attempting to do so throws an InvalidCastException.

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

: この変換はサポートされていません。 Note This conversion is not supported. 変換を試みると、InvalidCastException がスローされます。 Attempting to do so throws an InvalidCastException.

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

このメンバーの詳細については、「ToInt16(IFormatProvider)」をご覧ください。 For a description of this member, see ToInt16(IFormatProvider).

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

このメンバーの詳細については、「ToInt32(IFormatProvider)」をご覧ください。 For a description of this member, see ToInt32(IFormatProvider).

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

このメンバーの詳細については、「ToInt64(IFormatProvider)」をご覧ください。 For a description of this member, see ToInt64(IFormatProvider).

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

このメンバーの詳細については、「ToSByte(IFormatProvider)」をご覧ください。 For a description of this member, see ToSByte(IFormatProvider).

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

: この変換はサポートされていません。 Note This conversion is not supported. 変換を試みると、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)

このメンバーの詳細については、「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)

このメンバーの詳細については、「ToUInt16(IFormatProvider)」をご覧ください。 For a description of this member, see ToUInt16(IFormatProvider).

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

このメンバーの詳細については、「ToUInt32(IFormatProvider)」をご覧ください。 For a description of this member, see ToUInt32(IFormatProvider).

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

このメンバーの詳細については、「ToUInt64(IFormatProvider)」をご覧ください。 For a description of this member, see ToUInt64(IFormatProvider).

適用対象

スレッド セーフ

この種類のすべてのメンバーは、スレッド セーフです。 All members of this type are thread safe. インスタンスの状態を変更する表示されるメンバーは、実際に新しい値で初期化された新しいインスタンスを返します。 Members that appear to modify instance state actually return a new instance initialized with the new value. として、他の種類と読み取りと書き込みをこの型のインスタンスを含む共有変数を保護する必要があるスレッド セーフを確保するロックによって。 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.

こちらもご覧ください