このドキュメントはアーカイブされており、メンテナンスされていません。

Char 構造体

Unicode 文字を表します。

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public struct Char : IComparable, IConvertible, IComparable<char>, 
	IEquatable<char>
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class Char extends ValueType implements IComparable, IConvertible, 
	IComparable<char>, IEquatable<char>
JScript では、構造体を使用できますが、新規に宣言することはできません。

.NET Framework では、Char 構造体を使用して Unicode 文字を表現します。Unicode Standard では、それぞれの Unicode 文字に対し、重複しない 21 ビットのスカラ値 (コード ポイント) を割り当て、このコード ポイントを 1 つ以上の 16 ビット値のシーケンスにエンコードする方法を示す UTF-16 エンコーディング形式を定義しています。各 16 ビット値の範囲は 16 進数の 0x0000 から 0xFFFF までであり、Char 構造体に格納されます。Char オブジェクトの値は、対応する 16 ビットの数値 (序数) です。

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

Unicode Standard の詳細については、Unicode のホーム ページを参照してください。

機能

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

インターフェイスの実装

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

Char のメソッドのいくつかを次のコード例に示します。

using System;

public class CharStructureSample {
	public static void Main() {
		char chA = 'A';
		char ch1 = '1';
		string str = "test string"; 

		Console.WriteLine(chA.CompareTo('B'));			// Output: "-1" (meaning 'A' is 1 less than 'B')
		Console.WriteLine(chA.Equals('A'));				// Output: "True"
		Console.WriteLine(Char.GetNumericValue(ch1));	// Output: "1"
		Console.WriteLine(Char.IsControl('\t'));		// Output: "True"
		Console.WriteLine(Char.IsDigit(ch1));			// Output: "True"
		Console.WriteLine(Char.IsLetter(','));			// Output: "False"
		Console.WriteLine(Char.IsLower('u'));			// Output: "True"
		Console.WriteLine(Char.IsNumber(ch1));			// Output: "True"
		Console.WriteLine(Char.IsPunctuation('.'));		// Output: "True"
		Console.WriteLine(Char.IsSeparator(str, 4));	// Output: "True"
		Console.WriteLine(Char.IsSymbol('+'));			// Output: "True"
		Console.WriteLine(Char.IsWhiteSpace(str, 4));	// Output: "True"
		Console.WriteLine(Char.Parse("S"));				// Output: "S"
		Console.WriteLine(Char.ToLower('M'));			// Output: "m"
		Console.WriteLine('x'.ToString());				// Output: "x"
	}
}

import System.* ;

public class CharStructureSample
{
    public static void main(String[] args)
    {
        Character chA = new Character('A');
        char ch1 = '1';
        String str = "test string";

        // Output: "-1" (meaning 'A' is 1 less than 'B')        
        Console.WriteLine(chA.compareTo(new Character('B')));        
        // Output: "True"
        Console.WriteLine(chA.equals(new Character('A')));            
        // Output: "1"
        Console.WriteLine(System.Char.GetNumericValue(ch1));        
        // Output: "True"
        Console.WriteLine(Char.IsControl('\t'));                    
        // Output: "True"
        Console.WriteLine(System.Char.IsDigit(ch1));                
        // Output: "False"
        Console.WriteLine(Char.IsLetter(','));                        
        // Output: "True"
        Console.WriteLine(Char.IsLower('u'));                        
        // Output: "True"
        Console.WriteLine(System.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: "S"
        Console.WriteLine(Char.Parse("S"));                            
        // Output: "m"
        Console.WriteLine(Char.ToLower('M'));                        
        // Output: "x"
        Console.WriteLine(System.Convert.ToString('x'));                
    } //main
} //CharStructureSample

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

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

.NET Framework

サポート対象 : 2.0、1.1、1.0

.NET Compact Framework

サポート対象 : 2.0、1.0
表示: