Char.IsSurrogatePair Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menunjukkan apakah dua objek yang ditentukan Char membentuk pasangan pengganti.
Overload
| Nama | Deskripsi |
|---|---|
| IsSurrogatePair(Char, Char) |
Menunjukkan apakah dua objek yang ditentukan Char membentuk pasangan pengganti. |
| IsSurrogatePair(String, Int32) |
Menunjukkan apakah dua objek yang berdekatan Char pada posisi tertentu dalam string membentuk pasangan pengganti. |
Contoh
Contoh kode berikut menunjukkan IsHighSurrogatemetode , , IsLowSurrogatedan 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
----------------------------------------------------------------------
*/
// 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)
- Sumber:
- Char.cs
- Sumber:
- Char.cs
- Sumber:
- Char.cs
- Sumber:
- Char.cs
- Sumber:
- Char.cs
Menunjukkan apakah dua objek yang ditentukan Char membentuk pasangan pengganti.
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
Parameter
- highSurrogate
- Char
Karakter yang akan dievaluasi sebagai pengganti pasangan pengganti yang tinggi.
- lowSurrogate
- Char
Karakter yang akan dievaluasi sebagai pengganti rendah dari pasangan pengganti.
Mengembalikan
true jika nilai highSurrogate numerik parameter berkisar dari U+D800 hingga U+DBFF, dan nilai lowSurrogate numerik parameter berkisar dari U+DC00 hingga U+DFFF; jika tidak, false.
Keterangan
Biasanya, satu karakter diwakili oleh satu unit kode Unicode 16-bit. Pengodean UTF-16 juga mendukung pasangan pengganti, yang memungkinkan satu karakter abstrak diwakili oleh dua unit kode 16-bit. Unit kode pertama, yang nilainya dapat berkisar dari U+D800 hingga U+DBFF, adalah pengganti tinggi. Unit kode kedua, yang nilainya dapat berkisar dari U+DC00 hingga U+DFFF, adalah pengganti rendah. Titik kode pengganti individu tidak memiliki interpretasi sendiri. Untuk informasi selengkapnya tentang pengganti dan Standar Unicode, lihat halaman beranda Unicode.
Lihat juga
Berlaku untuk
IsSurrogatePair(String, Int32)
- Sumber:
- Char.cs
- Sumber:
- Char.cs
- Sumber:
- Char.cs
- Sumber:
- Char.cs
- Sumber:
- Char.cs
Menunjukkan apakah dua objek yang berdekatan Char pada posisi tertentu dalam string membentuk pasangan pengganti.
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
Parameter
- s
- String
Sebuah string.
- index
- Int32
Posisi awal pasangan karakter untuk dievaluasi dalam s.
Mengembalikan
true
s jika parameter menyertakan karakter yang berdekatan pada posisi index dan index + 1, dan nilai numerik karakter pada posisi index berkisar dari U+D800 hingga U+DBFF, dan nilai numerik karakter pada posisi index+1 berkisar dari U+DC00 melalui U+DFFF; jika tidak, false.
Pengecualian
s adalah null.
index bukan posisi dalam s.
Keterangan
Biasanya, satu karakter diwakili oleh satu unit kode Unicode 16-bit. Pengodean UTF-16 juga mendukung pasangan pengganti, yang memungkinkan satu karakter abstrak diwakili oleh dua unit kode 16-bit. Unit kode pertama, yang nilainya dapat berkisar dari U+D800 hingga U+DBFF, adalah pengganti tinggi. Unit kode kedua, yang nilainya dapat berkisar dari U+DC00 hingga U+DFFF, adalah pengganti rendah. Titik kode pengganti individu tidak memiliki interpretasi sendiri. Untuk informasi selengkapnya tentang pengganti dan Standar Unicode, lihat halaman beranda Unicode.