Прочитать на английском

Поделиться через


Char.IsLowSurrogate Метод

Определение

Определяет, является ли заданный объект Char младшим символом-заместителем.

Перегрузки

IsLowSurrogate(Char)

Определяет, является ли заданный объект Char младшим символом-заместителем.

IsLowSurrogate(String, Int32)

Определяет, является ли объект Char в заданной позиции в строке младшим символом-заместителем.

Примеры

В следующем примере кода демонстрируются методы 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

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

*/

IsLowSurrogate(Char)

Исходный код:
Char.cs
Исходный код:
Char.cs
Исходный код:
Char.cs

Определяет, является ли заданный объект Char младшим символом-заместителем.

public static bool IsLowSurrogate (char c);

Параметры

c
Char

Символ, который необходимо вычислить.

Возвращаемое значение

Значение true, если числовое значение параметра c лежит в диапазоне от U+DC00 до U+DFFF; в противном случае — значение false.

Комментарии

Помимо представления отдельных символов с помощью 16-разрядной кодовой точки, кодировка UTF-16 позволяет представить абстрактные символы с помощью двух 16-разрядных кодовых точек, которые называются суррогатной парой. Второй элемент в этой паре — низкий суррогат. Его кодовая точка может варьироваться от U+DC00 до U+DFFF. Отдельный суррогат не имеет собственного толкования; он имеет смысл только при использовании в составе суррогатной пары.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

IsLowSurrogate(String, Int32)

Исходный код:
Char.cs
Исходный код:
Char.cs
Исходный код:
Char.cs

Определяет, является ли объект Char в заданной позиции в строке младшим символом-заместителем.

public static bool IsLowSurrogate (string s, int index);

Параметры

s
String

Строка.

index
Int32

Позиция символа, который необходимо вычислить в s.

Возвращаемое значение

Значение true, если числовое значение заданного символа в параметре s лежит в диапазоне от U+DC00 до U+DFFF; в противном случае — значение false.

Исключения

s имеет значение null.

index не является позицией в s.

Комментарии

Параметр index отсчитывается от нуля.

Помимо представления отдельных символов с помощью 16-разрядной кодовой точки, кодировка UTF-16 позволяет представить абстрактные символы с помощью двух 16-разрядных кодовых точек, которые называются суррогатной парой. Второй элемент в этой паре — низкий суррогат. Его кодовая точка может варьироваться от U+DC00 до U+DFFF. Отдельный суррогат не имеет собственного толкования; он имеет смысл только при использовании в составе суррогатной пары.

См. также раздел

Применяется к

.NET 9 и другие версии
Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0