Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Kiểm tra từ khóa hợp lệ trong C#

Để kiểm tra một chuỗi có phải là từ khóa (keyword) của C# hay không, dùng CodeDomProvider.IsValidIdentifier. Nếu trả về false → là từ khóa hoặc không hợp lệ.

Ví dụ minh họa

using System;
using System.CodeDom.Compiler;

class Program
{
    static void Main()
    {
        string str1 = "amit";   // Identifier hợp lệ
        string str2 = "for";    // Từ khóa C#
        string str3 = "class";  // Từ khóa C#
        string str4 = "123abc"; // Không hợp lệ (bắt đầu bằng số)
        
        var provider = CodeDomProvider.CreateProvider("CSharp");
        
        CheckIdentifier(provider, str1);
        CheckIdentifier(provider, str2);
        CheckIdentifier(provider, str3);
        CheckIdentifier(provider, str4);
    }
    
    static void CheckIdentifier(CodeDomProvider provider, string str)
    {
        if (provider.IsValidIdentifier(str))
            Console.WriteLine($"\"{str}\" là identifier hợp lệ");
        else
            Console.WriteLine($"\"{str}\" KHÔNG phải identifier hợp lệ (có thể là từ khóa)");
    }
}

Kết quả đầu ra

"amit" là identifier hợp lệ
"for" KHÔNG phải identifier hợp lệ (có thể là từ khóa)
"class" KHÔNG phải identifier hợp lệ (có thể là từ khóa)
"123abc" KHÔNG phải identifier hợp lệ (có thể là từ khóa)

Lưu ý: IsValidIdentifier trả về false cho cả từ khóa VÀ identifier không hợp lệ (bắt đầu bằng số, chứa ký tự đặc biệt...). Để phân biệt chính xác, cần so sánh với danh sách từ khóa C# đã biết.