在.NET中,最接近Java的Character.isDefined是什么

本文关键字:Character isDefined 是什么 Java 最接近 NET | 更新日期: 2023-09-27 18:30:19

Java有一个Character.isDefined方法,但在.NET中的char类上没有等效的方法。

我知道Microsoft旧的 Java 库有这个,但如果我可以避免它,我不想依赖那个库。

在 .NET 的某个地方是否有内置的等效项?或者以组合方式调用所有可用的 .is* 方法是否会产生相同的结果?(例如字符。是信(x) ||煳。IsSymbol(x) etc....)

在.NET中,最接近Java的Character.isDefined是什么

你可以

试试

int utf32 = 0x1FFFF;
string surrogate = Char.ConvertFromUtf32(utf32);
var isDefined = char.GetUnicodeCategory(surrogate, 0) != UnicodeCategory.OtherNotAssigned;

如果您有来自基本 BMP 的角色,则可以直接使用char.GetUnicodeCategory(char)

请注意,每个版本的 .NET 都支持不同版本的 Unicode,因此它将返回的内容取决于当前版本的 .NET/当前操作系统使用的 Unicode 版本。