Char.IsSurrogate メソッド

定義

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

オーバーロード

IsSurrogate(Char)

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

IsSurrogate(String, Int32)

指定した文字列の指定位置にある文字がサロゲート コード単位を持つかどうかを示します。Indicates whether the character at the specified position in a specified string has a surrogate code unit.

IsSurrogate(Char)

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

public:
 static bool IsSurrogate(char c);
public static bool IsSurrogate (char c);
static member IsSurrogate : char -> bool
Public Shared Function IsSurrogate (c As Char) As Boolean

パラメーター

c
Char

評価する Unicode 文字。The Unicode character to evaluate.

戻り値

Boolean

c が上位サロゲートまたは下位サロゲートである場合は true。それ以外の場合は falsetrue if c is either a high surrogate or a low surrogate; otherwise, false.

IsSurrogateメソッドの例を次に示します。The following example demonstrates the IsSurrogate method.

using namespace System;
int main()
{
   
   // - escape params specifying Unicode not implemented in v7.0
   Console::WriteLine( Char::IsSurrogate( 'a' ) ); // Output: "False"
}

using System;

public class IsSurrogateSample {
    public static void Main() {
        string str = "\U00010F00"; // Unicode values between 0x10000 and 0x10FFF are represented by two 16-bit "surrogate" characters

        Console.WriteLine(Char.IsSurrogate('a'));		// Output: "False"
        Console.WriteLine(Char.IsSurrogate(str, 0));	// Output: "True"
    }
}
Module IsSurrogateSample

    Sub Main()

        ' NOTE: Visual Basic doesn't give us a way to create a 32-bit Unicode 
        ' character composed of two 16-bit surrogate values, so a case where 
        ' IsSurrogate returns True cannot be included in this sample. 

        Console.WriteLine(Char.IsSurrogate("a"c))       ' Output: "False"

    End Sub

End Module

注釈

サロゲートは、U + D800 から U + DFFF までの範囲の UTF-16 コード単位を持つ Char オブジェクトです。A surrogate is a Char object with a UTF-16 code unit in the range from U+D800 to U+DFFF. この範囲のコード単位を持つ各文字は、UnicodeCategory.Surrogate カテゴリに属しています。Each character with a code unit in this range belongs to the UnicodeCategory.Surrogate category. 個々のサロゲートコード単位は独自のものではありませんが、サロゲートペアの一部として使用されている場合にのみ意味を持ちます。The individual surrogate code unit has no interpretation of its own, but has meaning only when used as part of a surrogate pair. サロゲートペアの詳細については、unicodeホームページの unicode 標準に関するページを参照してください。For more information about surrogate pairs, see the Unicode Standard at the Unicode home page.

こちらもご覧ください

IsSurrogate(String, Int32)

指定した文字列の指定位置にある文字がサロゲート コード単位を持つかどうかを示します。Indicates whether the character at the specified position in a specified string has a surrogate code unit.

public:
 static bool IsSurrogate(System::String ^ s, int index);
public static bool IsSurrogate (string s, int index);
static member IsSurrogate : string * int -> bool
Public Shared Function IsSurrogate (s As String, index As Integer) As Boolean

パラメーター

s
String

文字列。A string.

index
Int32

s 内の評価する文字の位置。The position of the character to evaluate in s.

戻り値

Boolean

sindex にある文字が上位サロゲートまたは下位サロゲートである場合は true。それ以外の場合は falsetrue if the character at position index in s is a either a high surrogate or a low surrogate; otherwise, false.

例外

snull です。s is null.

index が 0 未満の値か、s の最後の位置より大きい値です。index is less than zero or greater than the last position in s.

次のコード例は、IsSurrogateを示しています。The following code example demonstrates IsSurrogate.

using namespace System;
int main()
{
   
   // - escape params specifying Unicode not implemented in v7.0
   Console::WriteLine( Char::IsSurrogate( 'a' ) ); // Output: "False"
}

using System;

public class IsSurrogateSample {
    public static void Main() {
        string str = "\U00010F00"; // Unicode values between 0x10000 and 0x10FFF are represented by two 16-bit "surrogate" characters

        Console.WriteLine(Char.IsSurrogate('a'));		// Output: "False"
        Console.WriteLine(Char.IsSurrogate(str, 0));	// Output: "True"
    }
}
Module IsSurrogateSample

    Sub Main()

        ' NOTE: Visual Basic doesn't give us a way to create a 32-bit Unicode 
        ' character composed of two 16-bit surrogate values, so a case where 
        ' IsSurrogate returns True cannot be included in this sample. 

        Console.WriteLine(Char.IsSurrogate("a"c))       ' Output: "False"

    End Sub

End Module

注釈

文字列内の文字位置は0から始まるインデックスが作成されます。Character positions in a string are indexed starting from zero.

サロゲートは、U + D800 から U + DFFF までの範囲の UTF-16 コード単位を持つ Char オブジェクトです。A surrogate is a Char object with a UTF-16 code unit in the range from U+D800 to U+DFFF. この範囲のコード単位を持つ各文字は、UnicodeCategory.Surrogate カテゴリに属しています。Each character with a code unit in this range belongs to the UnicodeCategory.Surrogate category. 個々のサロゲートコード単位は独自のものではありませんが、サロゲートペアの一部として使用されている場合にのみ意味を持ちます。The individual surrogate code unit has no interpretation of its own, but has meaning only when used as part of a surrogate pair. サロゲートペアの詳細については、unicodeホームページの unicode 標準に関するページを参照してください。For more information about surrogate pairs, see the Unicode Standard at the Unicode home page.

こちらもご覧ください

適用対象