ภาพรวม
เมธอด Char.IsSymbol() ใน C# ใช้ตรวจสอบว่าตัวอักษรที่ตำแหน่งที่ระบุในสตริงเป็นสัญลักษณ์ (symbol character) หรือไม่ ตามการจัดหมวดหมู่ของ Unicode สัญลักษณ์รวมถึงตัวดำเนินการทางคณิตศาสตร์ สัญลักษณ์สกุลเงิน ตัวแก้ไข (modifiers) และสัญลักษณ์ทางเทคนิคอื่นๆ
ไวยากรณ์
public static bool IsSymbol(string str, int index);
หมายเหตุ: มี overload อีกแบบคือ Char.IsSymbol(char) สำหรับตรวจสอบตัวอักษรเดี่ยวโดยตรง
พารามิเตอร์
- str - สตริงที่ต้องการตรวจสอบ
- index - ตำแหน่งของตัวอักษรในสตริง (เริ่มจาก 0)
ตัวอย่างที่ 1: ตัวอักษรทั่วไป
using System;
public class Demo
{
public static void Main()
{
bool result;
char val = 'P';
Console.WriteLine("ค่า = " + val);
result = Char.IsSymbol(val);
Console.WriteLine("เป็นสัญลักษณ์หรือไม่? = " + result);
}
}ผลลัพธ์ตัวอย่างที่ 1
ค่า = P เป็นสัญลักษณ์หรือไม่? = False
ตัวอย่างที่ 2: สัญลักษณ์ทางคณิตศาสตร์
using System;
public class Demo
{
public static void Main()
{
bool result;
char val = '+';
Console.WriteLine("ค่า = " + val);
result = Char.IsSymbol(val);
Console.WriteLine("เป็นสัญลักษณ์หรือไม่? = " + result);
}
}ผลลัพธ์ตัวอย่างที่ 2
ค่า = + เป็นสัญลักษณ์หรือไม่? = True
ประเภทสัญลักษณ์ที่ตรวจจับได้ (บางส่วน)
| หมวดหมู่ | ตัวอย่าง |
|---|---|
| ตัวดำเนินการคณิตศาสตร์ | + - * / = < > ± ÷ × |
| สัญลักษณ์สกุลเงิน | $ € £ ¥ ₹ |
| ตัวแก้ไข/เครื่องหมายเน้น | ˆ ˜ ¯ ´ ` |
| สัญลักษณ์อื่นๆ | © ® ™ § ¶ † ‡ |
ข้อสังเกตสำคัญ
- ตัวอักษรภาษา (พิมพ์ใหญ่/เล็ก) ตัวเลข และเครื่องหมายวรรคตอนทั่วไป (เช่น . , ; :) ไม่ใช่ สัญลักษณ์
- เครื่องหมายวรรคตอนถูกจัดอยู่ในหมวด
Punctuationแยกต่างหาก - ใช้
Char.GetUnicodeCategory()เพื่อดูรายละเอียดหมวดหมู่ที่แม่นยำกว่า