Char 構造体

定義

文字を UTF-16 コード単位で表します。

public value class char : IComparable, IComparable<char>, IConvertible, IEquatable<char>
public value class char : IComparable, IComparable<char>, IConvertible, IEquatable<char>, ISpanFormattable
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 struct Char : IComparable, IComparable<char>, IConvertible, IEquatable<char>, ISpanFormattable
[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 ISpanFormattable
    interface IFormattable
[<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 IComparable, IComparable(Of Char), IConvertible, IEquatable(Of Char), ISpanFormattable
Public Structure Char
Implements IComparable, IConvertible
Public Structure Char
Implements IComparable, IComparable(Of Char), IEquatable(Of Char)
継承
属性
実装

次のコード例は、のメソッドの一部を示して 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

注釈

.NET では、 Char utf-16 エンコーディングを使用して Unicode コードポイントを表すために構造体を使用します。 オブジェクトの値 Char は、16ビットの数値 (序数) 値です。

Unicode、スカラー値、コードポイント、サロゲートペア、UTF-16、および型について詳しく理解していない場合は Rune 、「 .net での文字エンコードの概要」を参照してください。

次のセクションでは、オブジェクトと文字の関係を確認 Char し、インスタンスで実行される一般的なタスクについて説明し Char ます。 Rune Char これらのタスクの一部を実行するための代替手段として、.net Core 3.0 で導入された型について検討することをお勧めします。

Char オブジェクト、Unicode 文字、および文字列

Stringオブジェクトは、 Char テキストの文字列を表す構造体のシーケンシャルコレクションです。 ほとんどの Unicode 文字は1つのオブジェクトで表すことができ Char ますが、基本文字、サロゲートペア、または組み合わせ文字シーケンスとしてエンコードされた文字は、複数のオブジェクトによって表され Char ます。 このため、 Char オブジェクト内の構造体は、 String 必ずしも1つの Unicode 文字と同じではありません。

次の場合は、複数の16ビットコード単位を使用して、1つの Unicode 文字を表します。

  • グリフ。1つの文字または基本文字の後に1つ以上の組み合わせ文字が続く形式で構成されます。 たとえば、äという文字は、 Char コード単位が u + 0061 で、その後に Char コード単位が u + 0308 のオブジェクトが続くオブジェクトで表されます。 (文字äは、 Char U + 00E4 のコード単位を持つ1つのオブジェクトによって定義することもできます)。次の例では、ä文字が2つのオブジェクトで構成されていることを示してい Char ます。

    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) 以外の文字。 Unicode では、平面0を表す BMP に加えて16の平面がサポートされています。 Unicode コードポイントは、平面を含む21ビットの値によって UTF-32 で表されます。 たとえば、U + 1D160 は、音符の8番目の文字であるミュージックシンボルを表します。 UTF-16 エンコーディングには16ビットしかないため、BMP の外側の文字は UTF-16 のサロゲートペアによって表されます。 次の例では、32に相当する U + 1D160 という文字で、ミュージックシンボルの8番目の文字である "U + D834 U + DD60" が使用されていることを示しています。 U + D834 は上位サロゲートです。サロゲートの範囲が U + D800 から U + DBFF になります。 U + DD60 は下位サロゲートです。下限サロゲートは U + DC00 から 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
    

文字と文字カテゴリ

Unicode 文字または有効なサロゲートペアは、それぞれ Unicode カテゴリに属しています。 .NET では、Unicode カテゴリは列挙体のメンバーによって表され UnicodeCategory UnicodeCategory.CurrencySymbol ます。たとえば、、、などの値が含まれ UnicodeCategory.LowercaseLetter UnicodeCategory.SpaceSeparator ます。

文字の Unicode カテゴリを確認するには、メソッドを呼び出し GetUnicodeCategory ます。 たとえば、次の例では、を呼び出して、 GetUnicodeCategory 文字列内の各文字の Unicode カテゴリを表示しています。 この例は、インスタンスにサロゲートペアがない場合にのみ正しく動作し 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

内部的には、ASCII 範囲外の文字 (U + 0000 から U + 00FF) の場合、 GetUnicodeCategory メソッドはクラスによって報告された Unicode カテゴリに依存し CharUnicodeInfo ます。 .NET Framework 4.6.2 以降では、unicode 文字は、 unicode 標準バージョン 8.0.0に基づいて分類されます。 .NET Framework 4 から .NET Framework 4.6.1 までのバージョンの .NET Framework では、 Unicode 標準バージョン 6.3.0に基づいて分類されます。

文字とテキスト要素

1つの文字は複数のオブジェクトで表すことができるため Char 、個々のオブジェクトを操作するのに意味があるとは限りません Char 。 たとえば、次の例では、0 ~ 9 の Aegean 番号を表す Unicode コードポイントを UTF-16 でエンコードされたコード単位に変換します。 誤ってオブジェクトが文字と見なされるため、結果として Char 得られる文字列の文字数が20文字であることが誤って報告されます。

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.

オブジェクトが1つの文字を表すという想定を避けるために、次の操作を行うことができ Char ます。

  • String個々の文字を操作して言語コンテンツを表現および分析するのではなく、オブジェクト全体を操作できます。

  • 次の例に示すように、を使用でき String.EnumerateRunes ます。

    int CountLetters(string s)
    {
        int letterCount = 0;
    
        foreach (Rune rune in s.EnumerateRunes())
        {
            if (Rune.IsLetter(rune))
            { letterCount++; }
        }
    
        return letterCount;
    }
    
  • クラスを使用し StringInfo て、個々のオブジェクトではなく、テキスト要素を操作でき Char ます。 次の例では、オブジェクトを使用して、 StringInfo 0 ~ 9 の Aegean 番号で構成される文字列内のテキスト要素の数をカウントします。 サロゲートペアは1文字であると見なされるため、文字列に10文字が含まれていることが正しく報告されます。

    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 でエンコードされたコード単位に変換できます。 次の例では、メソッドを呼び出して、 String.Normalize 基本文字 u + 0061 (ラテン小文字 a) を変換し、文字 u + 0308 (ウムラウト) を u + 00E4 (ラテン小文字 a とウムラウト) に変換します。

    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)
    

一般的な操作

構造体には、オブジェクトを Char 比較し Char 、現在のオブジェクトの値を Char 別の型のオブジェクトに変換し、オブジェクトの Unicode カテゴリを決定するメソッドが用意されてい Char ます。

目的 これらのメソッドを使用する System.Char
オブジェクトの比較 Char CompareTo および Equals
コードポイントを文字列に変換する ConvertFromUtf32

型も参照してください Rune
オブジェクト Char またはサロゲートペアを Char コードポイントに変換する 1文字の場合: Convert.ToInt32(Char)

サロゲートペアまたは文字列内の文字の場合: Char.ConvertToUtf32

型も参照してください Rune
文字の Unicode カテゴリを取得する GetUnicodeCategory

参照 Rune.GetUnicodeCategory.
文字が特定の Unicode カテゴリ (数字、文字、句読点、制御文字など) に含まれているかどうかを判断する IsControl、、、、、、、、、、、、、、 IsDigit IsHighSurrogate IsLetter IsLetterOrDigit IsLower IsLowSurrogate IsNumber IsPunctuation IsSeparator IsSurrogate IsSurrogatePair IsSymbol IsUpper および IsWhiteSpace

型についても、対応するメソッドを参照してください Rune
数値を Char 表すオブジェクトを数値型に変換します。 GetNumericValue

参照 Rune.GetNumericValue.
文字列内の文字をオブジェクトに変換します。 Char Parse および TryParse
オブジェクトを Char オブジェクトに変換します。 String ToString
オブジェクトの大文字と小文字の変更 Char ToLowerToLowerInvariantToUpper、および ToUpperInvariant

型についても、対応するメソッドを参照してください Rune

Char 値と相互運用

CharUNICODE utf-16 でエンコードされたコード単位として表されるマネージ型がアンマネージコードに渡されると、既定では、相互運用マーシャラーによって文字セットが ANSI に変換されます。 DllImportAttribute属性をプラットフォーム呼び出し宣言に適用し、属性を StructLayoutAttribute COM 相互運用宣言に適用して、マーシャリングされた型が使用する文字セットを制御でき Char ます。

フィールド

MaxValue

Char の最大有効値を表します。 このフィールドは定数です。

MinValue

Char の最小有効値を表します。 このフィールドは定数です。

メソッド

CompareTo(Char)

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

CompareTo(Object)

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

ConvertFromUtf32(Int32)

指定された Unicode コード ポイントを UTF-16 エンコードの文字列に変換します。

ConvertToUtf32(Char, Char)

UTF-16 でエンコードされたサロゲート ペアの値を Unicode コード ポイントに変換します。

ConvertToUtf32(String, Int32)

文字列中の指定位置にある UTF-16 エンコード文字またはサロゲート ペアの値を、Unicode コード ポイントに変換します。

Equals(Char)

対象のインスタンスが、指定した Char オブジェクトに等しいかどうかを示す値を返します。

Equals(Object)

このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。

GetHashCode()

このインスタンスのハッシュ コードを返します。

GetNumericValue(Char)

指定された Unicode の数字を倍精度浮動小数点数に変換します。

GetNumericValue(String, Int32)

指定した文字列の指定位置にある Unicode の数字を倍精度浮動小数点数に変換します。

GetTypeCode()

Char 値型の TypeCode を返します。

GetUnicodeCategory(Char)

指定された Unicode 文字を UnicodeCategory 値のいずれかで識別されるグループに分類します。

GetUnicodeCategory(String, Int32)

指定した文字列の指定位置にある文字を UnicodeCategory 値のいずれかで識別されるグループに分類します。

IsAscii(Char)

true c が ASCII 文字 ([U + 0000.. U + 007f]) の場合はを返します。

IsControl(Char)

指定した Unicode 文字が、制御文字かどうかを示します。

IsControl(String, Int32)

指定した文字列の指定位置にある文字が制御文字かどうかを示します。

IsDigit(Char)

指定した Unicode 文字が、10 進数の数字かどうかを示します。

IsDigit(String, Int32)

指定した文字列の指定位置にある文字が 10 進数の数字かどうかを示します。

IsHighSurrogate(Char)

指定された Char オブジェクトが上位サロゲートであるかどうかを示します。

IsHighSurrogate(String, Int32)

文字列中の指定された位置にある Char オブジェクトが、上位サロゲートであるかどうかを示します。

IsLetter(Char)

指定した Unicode 文字が Unicode 文字かどうかを示します。

IsLetter(String, Int32)

指定した文字列の指定位置にある文字が、Unicode 文字かどうかを示します。

IsLetterOrDigit(Char)

指定した Unicode 文字が文字または 10 進数の数字なのかどうかを示します。

IsLetterOrDigit(String, Int32)

指定した文字列の指定位置にある文字が文字または 10 進数の数字かどうかを示します。

IsLower(Char)

指定した Unicode 文字が小文字かどうかを示します。

IsLower(String, Int32)

指定した文字列の指定位置にある文字が、小文字かどうかを示します。

IsLowSurrogate(Char)

指定された Char オブジェクトが下位サロゲートであるかどうかを示します。

IsLowSurrogate(String, Int32)

文字列のうち、指定された位置にある Char オブジェクトが、下位サロゲートであるかどうかを示します。

IsNumber(Char)

指定された Unicode 文字が数字かどうかを示します。

IsNumber(String, Int32)

指定した文字列の指定位置にある文字が数字かどうかを示します。

IsPunctuation(Char)

指定した Unicode 文字が区切り記号かどうかを示します。

IsPunctuation(String, Int32)

指定した文字列の指定位置にある文字が区切り記号かどうかを示します。

IsSeparator(Char)

指定した Unicode 文字が区切り文字かどうかを示します。

IsSeparator(String, Int32)

指定した文字列の指定位置にある文字が区切り文字かどうかを示します。

IsSurrogate(Char)

指定した文字がサロゲート コード単位を持つかどうかを示します。

IsSurrogate(String, Int32)

指定した文字列の指定位置にある文字がサロゲート コード単位を持つかどうかを示します。

IsSurrogatePair(Char, Char)

指定された 2 つの Char オブジェクトがサロゲート ペアを形成するかどうかを示します。

IsSurrogatePair(String, Int32)

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

IsSymbol(Char)

指定した Unicode 文字が記号かどうかを示します。

IsSymbol(String, Int32)

指定した文字列の指定位置にある文字が記号かどうかを示します。

IsUpper(Char)

指定した Unicode 文字が大文字かどうかを示します。

IsUpper(String, Int32)

指定した文字列の指定位置にある文字が大文字かどうかを示します。

IsWhiteSpace(Char)

指定した Unicode 文字が空白かどうかを示します。

IsWhiteSpace(String, Int32)

指定した文字列の指定位置にある文字が空白かどうかを示します。

Parse(String)

指定した文字列の値をそれと等価な Unicode 文字に変換します。

ToLower(Char)

Unicode 文字の値をそれと等価な小文字に変換します。

ToLower(Char, CultureInfo)

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

ToLowerInvariant(Char)

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

ToString()

このインスタンスの値を、それと等価の文字列形式に変換します。

ToString(Char)

指定した Unicode 文字をそれと等価な文字列形式に変換します。

ToString(IFormatProvider)

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

ToUpper(Char)

Unicode 文字の値をそれと等価な大文字に変換します。

ToUpper(Char, CultureInfo)

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

ToUpperInvariant(Char)

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

TryParse(String, Char)

指定した文字列の値をそれと等価な Unicode 文字に変換します。 リターン コードは、変換が成功したか失敗したかを示します。

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

IComparable.CompareTo(Object)

現在のインスタンスを同じ型の別のオブジェクトと比較し、現在のインスタンスの並べ替え順序での位置が、比較対象のオブジェクトと比べて前か、後か、または同じかを示す整数を返します。

IConvertible.GetTypeCode()

インスタンスの TypeCode を返します。

IConvertible.ToBoolean(IFormatProvider)

: この変換はサポートされていません。 変換を試みると、InvalidCastException がスローされます。

IConvertible.ToByte(IFormatProvider)

このメンバーの詳細については、「ToByte(IFormatProvider)」をご覧ください。

IConvertible.ToChar(IFormatProvider)

このメンバーの詳細については、「ToChar(IFormatProvider)」をご覧ください。

IConvertible.ToDateTime(IFormatProvider)

: この変換はサポートされていません。 変換を試みると、InvalidCastException がスローされます。

IConvertible.ToDecimal(IFormatProvider)

: この変換はサポートされていません。 変換を試みると、InvalidCastException がスローされます。

IConvertible.ToDouble(IFormatProvider)

: この変換はサポートされていません。 変換を試みると、InvalidCastException がスローされます。

IConvertible.ToInt16(IFormatProvider)

このメンバーの詳細については、「ToInt16(IFormatProvider)」をご覧ください。

IConvertible.ToInt32(IFormatProvider)

このメンバーの詳細については、「ToInt32(IFormatProvider)」をご覧ください。

IConvertible.ToInt64(IFormatProvider)

このメンバーの詳細については、「ToInt64(IFormatProvider)」をご覧ください。

IConvertible.ToSByte(IFormatProvider)

このメンバーの詳細については、「ToSByte(IFormatProvider)」をご覧ください。

IConvertible.ToSingle(IFormatProvider)

: この変換はサポートされていません。 変換を試みると、InvalidCastException がスローされます。

IConvertible.ToString(IFormatProvider)

指定したカルチャ固有の書式情報を使用して、このインスタンスの値を等価の文字列に変換します。

IConvertible.ToType(Type, IFormatProvider)

このメンバーの詳細については、「ToType(Type, IFormatProvider)」をご覧ください。

IConvertible.ToUInt16(IFormatProvider)

このメンバーの詳細については、「ToUInt16(IFormatProvider)」をご覧ください。

IConvertible.ToUInt32(IFormatProvider)

このメンバーの詳細については、「ToUInt32(IFormatProvider)」をご覧ください。

IConvertible.ToUInt64(IFormatProvider)

このメンバーの詳細については、「ToUInt64(IFormatProvider)」をご覧ください。

IFormattable.ToString(String, IFormatProvider)

指定された書式を使用して現在のインスタンスの値を書式設定します。

ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

現在のインスタンスの値を、指定した文字の範囲に書式設定しようとします。

適用対象

スレッド セーフ

この型のすべてのメンバーは、スレッドセーフです。 インスタンスの状態を変更するように見えるメンバーは、実際には新しい値で初期化された新しいインスタンスを返します。 他の型と同様に、この型のインスタンスを含む共有変数の読み取りと書き込みは、スレッドセーフを保証するためにロックによって保護される必要があります。

こちらもご覧ください