Char 構造体

Unicode 文字を表します。

この型のすべてのメンバの一覧については、Char メンバ を参照してください。

System.Object
   System.ValueType
      System.Char

<Serializable>
Public Structure Char   Implements IComparable, IConvertible
[C#]
[Serializable]
public struct Char : IComparable, IConvertible
[C++]
[Serializable]
public __value struct Char : public IComparable, IConvertible

[JScript] JScript では、.NET Framework の構造体を利用することができます。ただし、独自に定義することはできません。

スレッドセーフ

この型は、マルチスレッド操作に対して安全です。

解説

Char 値型は、Unicode 文字 (Unicode コード ポイントとも呼ばれます) を表し、16 進数の 0x0000 ~ 0xFFFF の範囲にある 16 ビットの数値として実装されています。単一の Char は、サロゲート ペアとしてエンコードされた Unicode 文字を表現できません。しかし、 String (Char オブジェクトのコレクション) は、サロゲート ペアとしてエンコードされた Unicode 文字を表現できます。

Unicode の詳細については、www.unicode.org の「Unicode Standard」を参照してください。

Char には、この型のインスタンスを比較するメソッド、インスタンスの値を文字列形式に変換するメソッド、数値の文字列形式をこの型のインスタンスに変換するメソッド、およびインスタンスが数字、文字、区切り記号、制御文字などのカテゴリに属するかどうかを判断するメソッドが用意されています。書式指定コードで値型の文字列形式を制御する方法については、「 書式設定の概要 」を参照してください。

一般的な原則として、.NET Framework で Char を受け取る、または返すクラス メンバは、 Char の数値 (序数値) に基づいて動作します。 String を受け取る、または返すクラス メンバは、言語的な文字列の値に基づいて動作します。これにはサロゲート ペアの処理が含まれます。この理由から、 Char は、 String の個々の文字と必ずしも等価とは限りません。

この型は、 IComparable インターフェイスと IConvertible インターフェイスを実装しています。この型の明示的な IConvertible インターフェイス メンバの実装の代わりに、 Convert クラスを使用します。

使用例

[Visual Basic, C#, C++] Char のメソッドのいくつかを次のサンプルに示します。

 
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

[C#] 
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"
    }
}

[C++] 
#using <mscorlib.dll>
using namespace System;

int main() {
   char chA = 'A';
   char ch1 = '1';
   String* str = "test string"; 

   Console::WriteLine(chA.CompareTo(__box('B'))); // Output: "-1" (meaning 'A' is 1 less than 'B')
   Console::WriteLine(chA.Equals(__box('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(__box('x'));                // Output: "x"
}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: Mscorlib (Mscorlib.dll 内)

参照

Char メンバ | System 名前空間 | IComparable | IConvertible | String