Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอด Char.IsLowSurrogate ใน C# พร้อมตัวอย่าง


บทนำ

เมธอด 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 อย่างถูกต้อง