บทนำ
เมธอด Char.IsLowSurrogate() ใน C# ใช้ตรวจสอบว่าตัวอักษร (Char) ที่ตำแหน่งที่ระบุในสตริง เป็น low surrogate หรือไม่ ซึ่งเป็นส่วนหนึ่งของรหัส surrogate pair ใน UTF-16 สำหรับตัวอักษรนอก Basic Multilingual Plane (BMP)
ไวยากรณ์ (Syntax)
public static bool IsLowSurrogate (string str, int index);
โดยที่ str คือสตริง และ index คือตำแหน่งของตัวอักษรที่ต้องการตรวจสอบใน str
ตัวอย่างที่ 1: ตรวจสอบ low surrogate ที่ตำแหน่ง 6
using System;
public class Demo
{
public static void Main()
{
string str = new String(new char[] { 'k', 'm', 'g', 't', 'j', 'p', '\uDC00' });
bool res = Char.IsLowSurrogate(str, 6);
if (res)
Console.WriteLine("Contains Low Surrogate value!");
else
Console.WriteLine("Does not contain Low Surrogate value!");
}
}
ผลลัพธ์
Contains Low Surrogate value!
ตัวอย่างที่ 2: ตรวจสอบตำแหน่งที่ไม่ใช่ low surrogate
using System;
public class Demo
{
public static void Main()
{
string str = new String(new char[] { 'k', 'm', 'g', 't', 'j', 'p', '\uDC00' });
bool res = Char.IsLowSurrogate(str, 3);
if (res)
Console.WriteLine("Contains Low Surrogate value!");
else
Console.WriteLine("Does not contain Low Surrogate value!");
}
}
ผลลัพธ์
Does not contain Low Surrogate value!
สรุป
Low surrogate อยู่ในช่วง U+DC00 ถึง U+DFFF และต้องคู่กับ high surrogate (U+D800 ถึง U+DBFF) เพื่อสร้าง surrogate pair ที่แทน code point นอก BMP เมธอดนี้ช่วยในการประมวลผลสตริง UTF-16 อย่างถูกต้อง