Từ khóa Keyword và Identifier trong C#
Kiến thức lập trình

Từ khóa Keyword và Identifier trong C#

PT
Phạm Thị Diệu Linh
Xuất bản 10/28/2024・Cập nhật 10/28/2024

Trong phần này, chúng ta sẽ tìm hiểu về định nghĩa, ý nghĩa của các từ khóa trong C# (C# keyword) và định danh (C# identifier) trong ngôn ngữ lập trình C#.

Keyword-va-identifier.png

1. C# Keyword (Từ khóa trong C#)

Từ khóa trong C# là tập hợp các từ dành riêng có ý nghĩa đặc biệt trong chương trình. Ý nghĩa của các từ này không thể thay đổi và cũng không thể trực tiếp sử dụng như identifier trong một chương trình.

Ví dụ:

long mobileNum;

Ở dây, long là keyword và mobileNum là identifier.

long có một ý nghĩa đặc biệt trong ngôn ngữ lập trình C#. Nó được sử dụng để khai báo các biến thể của long và chức năng này không thể thay đổi.

Thêm nữa, những C# keyword như long, int, char, v..v.. không thể sử dụng như identifier. Vì vậy sẽ không có trường hợp như bên dưới xảy ra:

long long;

C# có tổng công 79 keyword. Những keyword này đều ở dạng chữ thường (không in hoa, in nghiêng,…). Bạn có thể xem danh sách từ khóa trong C# ở dưới đây:

abstractasbasebool
breakbytecasecatch
charcheckedclassconst
continuedecimaldefaultdelegate
dodoubleelseenum
eventexplicitexternfalse
finallyfixedfloatfor
foreachgotoifimplicit
inin (generic modifier)intinterface
internalislocklong
namespacenewnullobject
operatoroutout (generic modifier)override
paramsprivateprotectedpublic
readonlyrefreturnsbyte
sealedshortsizeofstackalloc
staticstringstructswitch
thisthrowtruetry
typeofuintulongunchecked
unsafeushortusingusing static
voidvolatilewhile 

Mặc dù các keyword này là các từ dành riêng, chúng vẫn có thể được dùng như identifier nếu chúng ta thêm @ vào trước keyword, ví dụ như sau:

int @void;

Câu lệnh trên sẽ tạo ra biến thể @void theo kiểu int.

1.1 Từ khóa của C# theo ngữ cảnh

Bên cạnh những từ khoá bình thường, ngôn ngữ C# còn có 25 từ khoá theo ngữ cảnh như bên dưới.

Những C# keyword theo ngữ cảnh này có ý nghĩa cụ thể tuỳ thuộc vào ngữ cảnh chương trình (có hạn chế).

Chúng có thể được sử dụng như identifier bên ngoài ngữ cảnh (có hạn chế) đó.

Keyword theo ngữ cảnh không phải là từ dành riêng của C#.

addaliasascending
asyncawaitdescending
dynamicfromget
globalgroupinto
joinletorderby
partial (loại)partial (phương thức)remove
selectsetvalue
varwhen (filter condition)where (hạn chế kiểu dữ liệu Generic)
yield  

Nếu bạn muốn biết chi tiết hơn về chức năng của những từ khóa trên, bạn có thể tham khảo ở đây C# keyword (Đáng buồn là Microsoft chưa đưa ra bản tiếng Việt, tôi tin là họ sẽ đăng tải sớm thôi!)

2. C# Identifier (Định danh trong C#)

Định danh trong C# ( C# Identifier) là các thực thể như biến (variable), method, class,.. Chúng là các mã thông báo trong chương trình, dùng để xác định một phần tử duy nhất. Ví dụ:

int value;

Ở đây, value là tên của variable. Cũng có nghĩa nó là identifier. Như đã nói ở phía trên, các keyword dành riêng không thể sử dụng như identifier nếu nó không thêm @ vào trước keyword. Ví dụ:

int break;

Lệnh này sẽ tạo ra error trong thời gian biên dịch. Để tìm hiểu thêm về variable, hãy chuyển tới phần C# variable.

2.1 Quy tắc đặt tên định danh trong C#

  • Identifier không thể trùng lặp với từ khóa trong C#.

  • Identifier phải bắt đầu bằng một chữ cái, một dấu gạch dưới hoặc sử dụng ký hiệu @ .Phần còn lại của Identifier có thể chứa các chữ cái, chữ số hoặc ký hiệu gạch dưới.

  • Identifier không được phép chứa khoảng trắng. Nó cũng không được có các ký hiệu khác ngoài chữ cái, chữ số và dấu gạch dưới.

  • Identifiers có phân biệt chữ hoa và chữ thường. Vì vậy các identifier như getName, GetName và getname là ba identifier khác nhau.

Dưới đây là một số C# identifier hợp lệ (Valid) và không hợp lệ (invalid):

IdentifiersNhận xét
numberValid
calculateMarksValid
hello$Invalid (Chứa $)
name1Valid
@ifValid (Keyword với tiền tố @)
ifInvalid (C# Keyword)
My nameInvalid (Chứa khoảng trắng)
_hello_hiValid

3. Cách tìm danh sách keyword và identifier trong một chương trình

Để làm rõ khái niệm, hãy cùng tôi tìm danh sách keyword và identifier trong chương trình chúng ta đã viết trong phần C# Hello World.

using System;

namespace HelloWorld

{

class Hello

{

static void Main(string[] args)

{

Console.WriteLine(“Hello World!”);

}

}

}

KeywordsIdentifiers
usingSystem
namespaceHelloWorld (namespace)
classHello (class)
staticMain (method)
voidargs
stringConsole
 WriteLine

Cụm từ “Hello World!”bên trong method  WriteLine là string literal.

Bạn đã sẵn sàng đổi thay sự nghiệp chưa?

Onschool Bootcamp tự hào chỉ trong 120 ngày, đào tạo thế hệ lập trình viên kiến tạo thế giới số - bắt đầu từ con số 0

Đừng quên chia sẻ bài viết này!

facebook
linkedin
x
copy
Sao chép link

Đăng ký tư vấn

Các Chương trình Đào tạo tại Onschool Bootcamp

Fullstack java web developer
Fullstack javascript (Nodejs & reactjs web developer
Fullstack Python web developer
Fullstack PHP web developer
Cross-Platform Mobile App Development
phonezalomessenger