Char.IsSurrogatePair Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen Char iki nesnenin vekil çift oluşturup oluşturmadığını gösterir.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| IsSurrogatePair(Char, Char) |
Belirtilen Char iki nesnenin vekil çift oluşturup oluşturmadığını gösterir. |
| IsSurrogatePair(String, Int32) |
Bir dizede belirtilen konumdaki iki bitişik Char nesnenin vekil çift oluşturup oluşturmadığını gösterir. |
Örnekler
Aşağıdaki kod örneği , IsHighSurrogateve IsLowSurrogate yöntemlerini gösterirIsSurrogatePair.
// 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
----------------------------------------------------------------------
*/
// This example demonstrates the Char.IsLowSurrogate() method
// IsHighSurrogate() method
// IsSurrogatePair() method
open System
let cHigh = '\uD800'
let cLow = '\uDC00'
let s1 = String [| 'a'; '\uD800'; '\uDC00'; 'z' |]
let divider = String.Concat(Environment.NewLine, String('-', 70), Environment.NewLine)
printfn $"""
Hexadecimal code point of the character, cHigh: {int cHigh:X4}
Hexadecimal code point of the character, cLow: {int cLow:X4}
Characters in string, s1: 'a', high surrogate, low surrogate, 'z'
Hexadecimal code points of the characters in string, s1: """
for i = 0 to s1.Length - 1 do
printfn $"s1[{i}] = {int s1[i]:X4} "
printfn $"""{divider}
Is each of the following characters a high surrogate?
A1) cLow? - {Char.IsHighSurrogate cLow}
A2) cHigh? - {Char.IsHighSurrogate cHigh}
A3) s1[0]? - {Char.IsHighSurrogate(s1, 0)}
A4) s1[1]? - {Char.IsHighSurrogate(s1, 1)}
{divider}"""
printfn $"""Is each of the following characters a low surrogate?
B1) cLow? - {Char.IsLowSurrogate cLow}
B2) cHigh? - {Char.IsLowSurrogate cHigh}
B3) s1[0]? - {Char.IsLowSurrogate(s1, 0)}
B4) s1[2]? - {Char.IsLowSurrogate(s1, 2)}
{divider}"""
printfn $"""Is each of the following pairs of characters a surrogate pair?
C1) cHigh and cLow? - {Char.IsSurrogatePair(cHigh, cLow)}
C2) s1[0] and s1[1]? - {Char.IsSurrogatePair(s1, 0)}
C3) s1[1] and s1[2]? - {Char.IsSurrogatePair(s1, 1)}
C4) s1[2] and s1[3]? - {Char.IsSurrogatePair(s1, 2)}"
{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
//
// ----------------------------------------------------------------------
' This example demonstrates the Char.IsLowSurrogate() method
' IsHighSurrogate() method
' IsSurrogatePair() method
Class Sample
Public Shared Sub Main()
Dim cHigh As Char = ChrW(&HD800)
Dim cLow As Char = ChrW(&HDC00)
Dim s1 = New [String](New Char() {"a"c, ChrW(&HD800), ChrW(&HDC00), "z"c})
Dim divider As String = [String].Concat(Environment.NewLine, _
New [String]("-"c, 70), _
Environment.NewLine)
Console.WriteLine()
Console.WriteLine("Hexadecimal code point of the character, cHigh: {0:X4}", AscW(cHigh))
Console.WriteLine("Hexadecimal code point of the character, cLow: {0:X4}", AscW(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: ")
Dim i As Integer
For i = 0 To s1.Length - 1
Console.WriteLine("s1({0}) = {1:X4} ", i, AscW(s1.Chars(i)))
Next 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)
End Sub
End Class
'
'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
'
'----------------------------------------------------------------------
'
IsSurrogatePair(Char, Char)
- Kaynak:
- Char.cs
- Kaynak:
- Char.cs
- Kaynak:
- Char.cs
- Kaynak:
- Char.cs
- Kaynak:
- Char.cs
Belirtilen Char iki nesnenin vekil çift oluşturup oluşturmadığını gösterir.
public:
static bool IsSurrogatePair(char highSurrogate, char lowSurrogate);
public static bool IsSurrogatePair(char highSurrogate, char lowSurrogate);
static member IsSurrogatePair : char * char -> bool
Public Shared Function IsSurrogatePair (highSurrogate As Char, lowSurrogate As Char) As Boolean
Parametreler
- highSurrogate
- Char
Bir vekil çiftin yüksek vekili olarak değerlendirilecek karakter.
- lowSurrogate
- Char
Bir vekil çiftin düşük vekili olarak değerlendirilecek karakter.
Döndürülenler
true parametresinin highSurrogate sayısal değeri U+D800 ile U+DBFF arasında değişiyorsa ve parametrenin lowSurrogate sayısal değeri U+DC00 ile U+DFFF arasında değişiyorsa, değilse, false.
Açıklamalar
Normalde, tek bir karakter tek bir 16 bit Unicode kod birimiyle temsil edilir. UTF-16 kodlaması, tek bir soyut karakterin iki 16 bit kod birimiyle temsil edilmesine olanak tanıyan vekil çiftleri de destekler. Değeri U+D800 ile U+DBFF arasında değişen ilk kod birimi, yüksek vekildir. Değeri U+DC00 ile U+DFFF arasında değişen ikinci kod birimi, düşük vekildir. Tek tek vekil kod noktalarının kendi yorumlarını yoktur. Vekiller ve Unicode Standardı hakkında daha fazla bilgi için Unicode giriş sayfasına bakın.
Ayrıca bkz.
Şunlara uygulanır
IsSurrogatePair(String, Int32)
- Kaynak:
- Char.cs
- Kaynak:
- Char.cs
- Kaynak:
- Char.cs
- Kaynak:
- Char.cs
- Kaynak:
- Char.cs
Bir dizede belirtilen konumdaki iki bitişik Char nesnenin vekil çift oluşturup oluşturmadığını gösterir.
public:
static bool IsSurrogatePair(System::String ^ s, int index);
public static bool IsSurrogatePair(string s, int index);
static member IsSurrogatePair : string * int -> bool
Public Shared Function IsSurrogatePair (s As String, index As Integer) As Boolean
Parametreler
- s
- String
Bir dize.
- index
- Int32
içinde sdeğerlendirilecek karakter çiftinin başlangıç konumu.
Döndürülenler
true
s parametresi konumlarda index ve index + 1'de bitişik karakterler içeriyorsa ve konumdaki index karakterin sayısal değeri U+D800 ile U+DBFF arasında ve +1 konumundaki indexkarakterin sayısal değeri U+DC00 ile U+DFFF arasında değişir; değilse, false.
Özel durumlar
s, null'e eşittir.
index içinde sbir konum değildir.
Açıklamalar
Normalde, tek bir karakter tek bir 16 bit Unicode kod birimiyle temsil edilir. UTF-16 kodlaması, tek bir soyut karakterin iki 16 bit kod birimiyle temsil edilmesine olanak tanıyan vekil çiftleri de destekler. Değeri U+D800 ile U+DBFF arasında değişen ilk kod birimi, yüksek vekildir. Değeri U+DC00 ile U+DFFF arasında değişen ikinci kod birimi, düşük vekildir. Tek tek vekil kod noktalarının kendi yorumlarını yoktur. Vekiller ve Unicode Standardı hakkında daha fazla bilgi için Unicode giriş sayfasına bakın.