Char.IsSurrogate 方法

定义

指示字符是否具有代理项代码单位。

重载

IsSurrogate(Char)

指示指定的字符是否具有指定的代理项代码单位。

IsSurrogate(String, Int32)

指示指定字符串中位于指定位置的字符是否具有代理项代码单位。

示例

下面的示例演示 IsSurrogate 方法。

C#
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"
    }
}

IsSurrogate(Char)

指示指定的字符是否具有指定的代理项代码单位。

C#
public static bool IsSurrogate (char c);

参数

c
Char

要计算的 Unicode 字符。

返回

Boolean

如果 true 为高代理项或低代理项,则为 c;否则为 false

注解

代理项是一个 Char 对象,该对象具有从 U + D800 到 u + DFFF 范围内的 utf-16 代码单元。 此范围内具有代码单元的每个字符都属于该 UnicodeCategory.Surrogate 类别。 单个代理项代码单元没有自身的解释,但只有在用作代理项对的一部分时才有意义。 有关代理项对的详细信息,请参阅 unicode 主页上的 unicode 标准。

另请参阅

适用于

.NET 7 和其他版本
产品 版本
.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
.NET Framework 1.1, 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
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

IsSurrogate(String, Int32)

指示指定字符串中位于指定位置的字符是否具有代理项代码单位。

C#
public static bool IsSurrogate (string s, int index);

参数

s
String

一个字符串。

index
Int32

s 中要计算的字符的位置。

返回

Boolean

如果 true 中位于 index 的字符是一个高代理项或低代理项,则为 s;否则为 false

例外

s 上声明的默认值为 null

index 小于零或大于 s 中最后一个位置。

注解

字符串中的字符位置从零开始索引。

代理项是一个 Char 对象,该对象具有从 U + D800 到 u + DFFF 范围内的 utf-16 代码单元。 此范围内具有代码单元的每个字符都属于该 UnicodeCategory.Surrogate 类别。 单个代理项代码单元没有自身的解释,但只有在用作代理项对的一部分时才有意义。 有关代理项对的详细信息,请参阅 unicode 主页上的 unicode 标准。

另请参阅

适用于

.NET 7 和其他版本
产品 版本
.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
.NET Framework 1.1, 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
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0