文字がサロゲート文字かどうか判定するには、Char.IsSurrogate() を使用します。
サンプル
例)文字列にサロゲート文字が含まれるかどうか判定する
// 対象文字
string str = "\ud842\udf9fる"; //←サロゲート文字です。
// サロゲート文字か含まれるかどうか判定する
bool b = false;
foreach(char c in str)
{
if (b = Char.IsSurrogate(c))
{
break;
}
}
// 結果
if (b == true){
Console.WriteLine("サロゲート文字が含まれます");
}
else
{
Console.WriteLine("サロゲート文字は含まれません");
}
結果
サロゲート文字が含まれます
備考
- 文字がサロゲート文字かどうか判定するには、System.Char.IsSurrogateを使うと簡単です。