エクスポート (0) 印刷
すべて展開
この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文

Char 構造体

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

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

[SerializableAttribute]
[ComVisibleAttribute(true)]
public struct Char : IComparable, IConvertible, 
	IComparable<char>, IEquatable<char>

Char 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETCompareTo(Char)このインスタンスと指定した Char オブジェクトとを比較し、並べ替え順序において、このインスタンスの位置が指定した Char オブジェクトの前、後ろ、または同じのいずれであるかを示します。
パブリック メソッドXNA Framework によるサポートCompareTo(Object)このインスタンスと指定したオブジェクトとを比較し、並べ替え順序において、このインスタンスの位置が指定した Object の前、後ろ、または同じのいずれであるかを示します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConvertFromUtf32指定された Unicode コード ポイントを UTF-16 エンコードの文字列に変換します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConvertToUtf32(Char, Char)UTF-16 でエンコードされたサロゲート ペアの値を Unicode コード ポイントに変換します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETConvertToUtf32(String, Int32)文字列中の指定位置にある UTF-16 エンコード文字またはサロゲート ペアの値を、Unicode コード ポイントに変換します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEquals(Char)対象のインスタンスが、指定した Char オブジェクトに等しいかどうかを示す値を返します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETEquals(Object)このインスタンスが、指定したオブジェクトに等しいかどうかを示す値を返します。 (ValueType.Equals(Object) をオーバーライドします。)
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETGetHashCode対象のインスタンスのハッシュ コードを返します。 (ValueType.GetHashCode() をオーバーライドします。)
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETGetNumericValue(Char)指定された Unicode の数字を倍精度浮動小数点数に変換します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETGetNumericValue(String, Int32)指定した文字列の指定位置にある Unicode の数字を倍精度浮動小数点数に変換します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッドXNA Framework によるサポートGetTypeCode Char 値型の TypeCode を返します。
パブリック メソッド静的メンバーXNA Framework によるサポートGetUnicodeCategory(Char)指定した Unicode 文字を UnicodeCategory 値のいずれかで識別されるグループに分類します。
パブリック メソッド静的メンバーXNA Framework によるサポートGetUnicodeCategory(String, Int32)指定した文字列の指定位置にある文字を UnicodeCategory 値のいずれかで識別されるグループに分類します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsControl(Char)指定した Unicode 文字が、制御文字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsControl(String, Int32)指定した文字列の指定位置にある文字が制御文字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsDigit(Char)指定した Unicode 文字が、10 進数の数字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsDigit(String, Int32)指定した文字列の指定位置にある文字が 10 進数の数字かどうかを示します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsHighSurrogate(Char)指定された Char オブジェクトが上位サロゲートであるかどうかを示します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsHighSurrogate(String, Int32)文字列中の指定された位置にある Char オブジェクトが、上位サロゲートであるかどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsLetter(Char)指定した Unicode 文字が Unicode 文字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsLetter(String, Int32)指定した文字列の指定位置にある文字が、Unicode 文字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsLetterOrDigit(Char)指定した Unicode 文字が文字または 10 進数の数字なのかどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsLetterOrDigit(String, Int32)指定した文字列の指定位置にある文字が文字または 10 進数の数字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsLower(Char)指定した Unicode 文字が小文字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsLower(String, Int32)指定した文字列の指定位置にある文字が、小文字かどうかを示します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsLowSurrogate(Char)指定された Char オブジェクトが下位サロゲートであるかどうかを示します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsLowSurrogate(String, Int32)文字列中の指定された位置にある Char オブジェクトが、下位サロゲートであるかどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsNumber(Char)指定された Unicode 文字が数字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsNumber(String, Int32)指定した文字列の指定位置にある文字が数字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsPunctuation(Char)指定した Unicode 文字が区切り記号かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsPunctuation(String, Int32)指定した文字列の指定位置にある文字が区切り記号かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsSeparator(Char)指定した Unicode 文字が区切り文字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsSeparator(String, Int32)指定した文字列の指定位置にある文字が区切り文字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsSurrogate(Char)指定した文字がサロゲート コード単位を持つかどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsSurrogate(String, Int32)指定した文字列の指定位置にある文字がサロゲート コード単位を持つかどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsSurrogatePair(Char, Char)指定された 2 つの Char オブジェクトがサロゲート ペアであるかどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsSurrogatePair(String, Int32)文字列中の指定された位置で互いに隣接する 2 つの Char オブジェクトがサロゲート ペアであるかどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsSymbol(Char)指定した Unicode 文字が記号かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsSymbol(String, Int32)指定した文字列の指定位置にある文字が記号かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsUpper(Char)指定した Unicode 文字が大文字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsUpper(String, Int32)指定した文字列の指定位置にある文字が大文字かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsWhiteSpace(Char)指定した Unicode 文字が空白かどうかを示します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIsWhiteSpace(String, Int32)指定した文字列の指定位置にある文字が空白かどうかを示します。
パブリック メソッド静的メンバーParse指定した文字列の値をそれと等価な Unicode 文字に変換します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToLower(Char)Unicode 文字の値をそれと等価な小文字に変換します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートToLower(Char, CultureInfo)指定したカルチャ固有の書式情報を使用して、指定した Unicode 文字の値をそれと等価な小文字へ変換します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToLowerInvariantインバリアント カルチャの大文字と小文字の規則を使用して、Unicode 文字の値を対応する小文字表現に変換します。
パブリック メソッドXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToString()このインスタンスの値を、それと等価の文字列形式に変換します。 (ValueType.ToString() をオーバーライドします。)
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToString(Char)指定した Unicode 文字をそれと等価な文字列形式に変換します。
パブリック メソッドXNA Framework によるサポートToString(IFormatProvider)指定したカルチャ固有の書式情報を使用して、このインスタンスの値をそれと等価な文字列形式に変換します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToUpper(Char)Unicode 文字の値をそれと等価な大文字に変換します。
パブリック メソッド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートToUpper(Char, CultureInfo)指定したカルチャ固有の書式情報を使用して、指定した Unicode 文字の値をそれと等価な大文字へ変換します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETToUpperInvariantインバリアント カルチャの大文字と小文字の規則を使用して、Unicode 文字の値を対応する大文字表現に変換します。
パブリック メソッド静的メンバー汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETTryParse指定した文字列の値をそれと等価な Unicode 文字に変換します。 リターン コードは、変換が成功したか失敗したかを示します。
このページのトップへ

  名前説明
パブリック フィールド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETMaxValue Char の最大有効値を表します。 このフィールドは定数です。
パブリック フィールド静的メンバーXNA Framework によるサポート汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETMinValue Char の最小有効値を表します。 このフィールドは定数です。
このページのトップへ

  名前説明
明示的なインターフェイス実装プライベート メソッド汎用性のあるクラス ライブラリ によるサポートサポート対象: Windows ストア アプリ用 .NETIComparable.CompareTo現在のインスタンスを同じ型の別のオブジェクトと比較し、現在のインスタンスの並べ替え順序での位置が、比較対象のオブジェクトと比べて前か、後か、または同じかを示す整数を返します。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToBooleanインフラストラクチャ。 メモ : この変換はサポートされていません。 変換を試みると、InvalidCastException がスローされます。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToByteインフラストラクチャ。このメンバーの説明については、IConvertible.ToByte のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToCharインフラストラクチャ。このメンバーの説明については、IConvertible.ToChar のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToDateTimeインフラストラクチャ。 メモ : この変換はサポートされていません。 変換を試みると、InvalidCastException がスローされます。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToDecimalインフラストラクチャ。 メモ : この変換はサポートされていません。 変換を試みると、InvalidCastException がスローされます。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToDoubleインフラストラクチャ。 メモ : この変換はサポートされていません。 変換を試みると、InvalidCastException がスローされます。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToInt16インフラストラクチャ。 このメンバーの説明については、IConvertible.ToInt16 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToInt32インフラストラクチャ。このメンバーの説明については、IConvertible.ToInt32 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToInt64インフラストラクチャ。 このメンバーの説明については、IConvertible.ToInt64 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToSByteインフラストラクチャ。 このメンバーの説明については、IConvertible.ToSByte のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToSingleインフラストラクチャ。 メモ : この変換はサポートされていません。 変換を試みると、InvalidCastException がスローされます。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToTypeインフラストラクチャ。このメンバーの説明については、IConvertible.ToType のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToUInt16インフラストラクチャ。このメンバーの説明については、IConvertible.ToUInt16 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToUInt32インフラストラクチャ。このメンバーの説明については、IConvertible.ToUInt32 のトピックを参照してください。
明示的なインターフェイス実装プライベート メソッドXNA Framework によるサポートIConvertible.ToUInt64インフラストラクチャ。このメンバーの説明については、IConvertible.ToUInt64 のトピックを参照してください。
このページのトップへ

The .NET Framework uses the Char structure to represent a Unicode character. 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. Each 16-bit value ranges from hexadecimal 0x0000 through 0xFFFF and is stored in a Char structure.The value of a Char object is its 16-bit numeric (ordinal) value.

Char Objects, Unicode Characters, and Strings

A String object is a sequential collection of Char structures that represents a string of text. 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. For this reason, a Char structure in a String object is not necessarily equivalent to a single Unicode character.

Multiple 16-bit code units are used to represent single Unicode characters in the following cases:

  • Glyphs, which may consist of a single character or of a base character followed by one or more combining characters. 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.(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:
    //       ä
    
    
    
  • Characters outside the Unicode Basic Multilingual Plane (BMP). Unicode supports sixteen planes in addition to the BMP, which represents plane 0. A Unicode code point is represented in UTF-32 by a 21-bit value that includes the plane. For example, U+1D160 represents the MUSICAL SYMBOL EIGHTH NOTE character. Because UTF-16 encoding has only 16 bits, characters outside the BMP are represented by surrogate pairs in UTF-16. 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 is the high surrogate; high surrogates range from U+D800 through U+DBFF. 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
    
    
    

Characters and Text Elements

単一の文字が複数の Char のオブジェクトで表される可能性があるため、個々の Char オブジェクトを扱うことに必ずしも意味があるとは限りません。 たとえば、次の例ではエーゲ数字の 0 から 9 までを表す 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.


次のような処理を行えば、Char オブジェクトが単一の文字を表すという前提を回避できます。

  • 言語的な内容を表示したり分析したりするのに String オブジェクトの個々の文字を扱うのではなく、Stringオブジェクトをそのまま使用します。

  • 個々の Char オブジェクトではなくテキストの要素を扱うには StringInfo クラスを使用します。 次の例では StringInfo のオブジェクトを使用して、エーゲ数字の 0 から 9 から成る文字列のテキスト要素数を数えます。 この例ではサロゲート ペアを単一の文字と解釈するため、文字列は 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.
    
    
    
  • 文字列に 1 つ以上の結合文字をもつ基本文字が含まれている場合に、その部分文字列を単一の UTF-16 でエンコードされたコード単位に変換するためには、String.Normalize メソッドを呼び出します。 次の例では String.Normalize メソッドを呼び出して、基本文字 U+0061 (LATIN SMALL LETTER A) と結合文字 U+0308 (COMBINING DIAERESIS) を、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)
    
    
    

Common Operations

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

Use these System.Char methods

Compare Char objects

CompareTo and Equals

Convert a code point to a string

ConvertFromUtf32

Convert a Char object or a surrogate pair of Char objects to a code point

ConvertToUtf32

Get the Unicode category of a character

GetUnicodeCategory

Determine whether a character is in a particular Unicode category such as digit, letter, punctuation, control character, and so on

IsControl , IsDigit, IsHighSurrogate, IsLetter, IsLetterOrDigit, IsLower, IsLowSurrogate, IsNumber, IsPunctuation, IsSeparator, IsSurrogate, IsSurrogatePair, IsSymbol, IsUpper, and IsWhiteSpace

Convert a Char object that represents a number to a numeric value type

GetNumericValue

Convert a character in a string into a Char object

Parse and TryParse

Convert a Char object to a String object

ToString

Change the case of a Char object

ToLower , ToLowerInvariant, ToUpper, and ToUpperInvariant

The following code example demonstrates some of the methods in 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"
	}
}


.NET Framework

サポート対象 : 4.5.2、4.5.1、4.5、4、3.5、3.0、2.0、1.1、1.0

.NET Framework Client Profile

サポート対象 : 4、3.5 SP1

汎用性のあるクラス ライブラリ

サポート対象 : 汎用性のあるクラス ライブラリ

Windows ストア アプリ用 .NET

サポート対象 : Windows 8

Windows Phone アプリ用 .NET

サポート対象 : Windows Phone 8、Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (サーバー コア ロールはサポート対象外), Windows Server 2008 R2 (SP1 以降でサーバー コア ロールをサポート。Itanium はサポート対象外)

.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。

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.

コミュニティの追加

追加
表示:
© 2015 Microsoft