이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

Char.IsSurrogatePair 메서드 (Char, Char)

 

게시 날짜: 2016년 11월

지정한 두 개의 Char 개체가 서로게이트 쌍을 형성하는지 여부를 나타냅니다.

네임스페이스:   System
어셈블리:  mscorlib(mscorlib.dll에 있음)

public static bool IsSurrogatePair(
	char highSurrogate,
	char lowSurrogate
)

매개 변수

highSurrogate
Type: System.Char

서로게이트 쌍의 high surrogate로 확인할 문자입니다.

lowSurrogate
Type: System.Char

서로게이트 쌍의 low surrogate로 확인할 문자입니다.

반환 값

Type: System.Boolean

true 매개 변수의 숫자 값이 U+D800부터 U+DBFF까지의 범위에 있고 highSurrogate 매개 변수의 숫자 값이 U+DC00부터 U+DFFF까지의 범위에 있으면 lowSurrogate이고, 그렇지 않으면 false입니다.

일반적으로 단일 16 비트 유니코드 코드 단위는 단일 문자 표현 됩니다. Utf-16 인코딩의 단일 추상 문자를 두 명의 16 비트 코드 단위도 나타낼 수 있는 서로게이트 쌍도 지원 합니다. 해당 값의 범위는 U + d 800부터 U + dbff 사이의 첫 번째 코드 단위는 상위 서로게이트입니다. 해당 값의 범위는 U + d c 00부터 U + dfff, 두 번째 코드 단위는 하위 서로게이트입니다. 개별 서로게이트 코드 포인트는 자체의 해석이 없습니다. 서로게이트 및 유니코드 표준에 대 한 자세한 내용은 참조는 Unicode home page합니다.

다음 코드 예제는 IsHighSurrogate, IsLowSurrogate, 및 IsSurrogatePair 메서드.

// This example demonstrates the Char.IsLowSurrogate() method
//                                    IsHighSurrogate() method
//                                    IsSurrogatePair() method
using System;

class Sample 
{
    public static void Main() 
    {
    char cHigh = '\uD800';
    char cLow  = '\uDC00';
    string s1  = new String(new char[] {'a', '\uD800', '\uDC00', 'z'});
    string divider = String.Concat( Environment.NewLine, new String('-', 70), 
                                    Environment.NewLine);

    Console.WriteLine();
    Console.WriteLine("Hexadecimal code point of the character, cHigh: {0:X4}", (int)cHigh);
    Console.WriteLine("Hexadecimal code point of the character, cLow:  {0:X4}", (int)cLow);
    Console.WriteLine();
    Console.WriteLine("Characters in string, s1: 'a', high surrogate, low surrogate, 'z'");
    Console.WriteLine("Hexadecimal code points of the characters in string, s1: ");
    for(int i = 0; i < s1.Length; i++)
        {
        Console.WriteLine("s1[{0}] = {1:X4} ", i, (int)s1[i]);
        }
    Console.WriteLine(divider);

    Console.WriteLine("Is each of the following characters a high surrogate?");
    Console.WriteLine("A1) cLow?  - {0}", Char.IsHighSurrogate(cLow));
    Console.WriteLine("A2) cHigh? - {0}", Char.IsHighSurrogate(cHigh));
    Console.WriteLine("A3) s1[0]? - {0}", Char.IsHighSurrogate(s1, 0));
    Console.WriteLine("A4) s1[1]? - {0}", Char.IsHighSurrogate(s1, 1));
    Console.WriteLine(divider);

    Console.WriteLine("Is each of the following characters a low surrogate?");
    Console.WriteLine("B1) cLow?  - {0}", Char.IsLowSurrogate(cLow));
    Console.WriteLine("B2) cHigh? - {0}", Char.IsLowSurrogate(cHigh));
    Console.WriteLine("B3) s1[0]? - {0}", Char.IsLowSurrogate(s1, 0));
    Console.WriteLine("B4) s1[2]? - {0}", Char.IsLowSurrogate(s1, 2));
    Console.WriteLine(divider);

    Console.WriteLine("Is each of the following pairs of characters a surrogate pair?");
    Console.WriteLine("C1) cHigh and cLow?  - {0}", Char.IsSurrogatePair(cHigh, cLow));
    Console.WriteLine("C2) s1[0] and s1[1]? - {0}", Char.IsSurrogatePair(s1, 0));
    Console.WriteLine("C3) s1[1] and s1[2]? - {0}", Char.IsSurrogatePair(s1, 1));
    Console.WriteLine("C4) s1[2] and s1[3]? - {0}", Char.IsSurrogatePair(s1, 2));
    Console.WriteLine(divider);
    }
}
/*
This example produces the following results:

Hexadecimal code point of the character, cHigh: D800
Hexadecimal code point of the character, cLow:  DC00

Characters in string, s1: 'a', high surrogate, low surrogate, 'z'
Hexadecimal code points of the characters in string, s1:
s1[0] = 0061
s1[1] = D800
s1[2] = DC00
s1[3] = 007A

----------------------------------------------------------------------

Is each of the following characters a high surrogate?
A1) cLow?  - False
A2) cHigh? - True
A3) s1[0]? - False
A4) s1[1]? - True

----------------------------------------------------------------------

Is each of the following characters a low surrogate?
B1) cLow?  - True
B2) cHigh? - False
B3) s1[0]? - False
B4) s1[2]? - True

----------------------------------------------------------------------

Is each of the following pairs of characters a surrogate pair?
C1) cHigh and cLow?  - True
C2) s1[0] and s1[1]? - False
C3) s1[1] and s1[2]? - True
C4) s1[2] and s1[3]? - False

----------------------------------------------------------------------

*/

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
2.0 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능
맨 위로 이동
표시: