زبان برنامه نویسی سی شارپ شامل کلمات رزرو شده ایی است که برای کامپایلر دارای معانی خاصی هستند. این کلمات رزرو شده "keywords" (کلمات کلیدی) نام دارند. آنها نمیتوانند به عنوان نام (identifier) یک متغیر ، کلاس ، اینترفیس و ... به کار روند.
کلمات کلیدی در سی شارپ به دسته هایی که در مطالب پایین آورده شده است تقسیم میشوند.
کلمات رزرو شده ی Modifier
کلمات رزرو شده ی Modifier
، کلمات کلیدی هستند که مشخص میکنند چه کسی میتواند نوع ها و اعضای آنها را تغییر دهد. Modifier ها اجازه میدهند و یا جلوگیری میکنند که قسمتی معین از برنامه بتواند قسمتی دیگر را تغییر دهد. کلمات رزرو شده ی Modifier در جدول زیر آمده اند :
Modifier keywords | ||||||
---|---|---|---|---|---|---|
abstract | async | const | event | extern | new | override |
partial | readonly | sealed | static | static | virtual | virtual |
کلمات رزرو شده ی Access Modifier
کلمات رزرو شده ی Access Modifier
بر روی تعریف کلاس ها ، متد ها ، صفات ، فیلد و دیگر اعضا اعمال میشوند. آنها سطح دسترسی کلاس و اعضای آن را مشخص میکنند.
Access Modifier پیشفرض برای class
و struct
کلمه ی private
است و برای enum
و interface
کلمه ی public
است.
کلمه ی کلیدی | عملکرد |
---|---|
public | کلمه ی public به هر قسمت از برنامه در همان اسمبلی و یا اسمبلی دیگر اجازه میدهد که به نوع و اعضای آن دسترسی پیدا کند. |
private | کلمه ی private دسترسی قسمت های دیگر برنامه را به نوع و اعضای خود محدود میکند. تنها کد های همان کلاس و یا struct میتوانند به آن دسترسی پیدا کنند. |
internal | کلمه ی internal به هر قسمت از برنامه در همان اسمبلی اجازه میدهد که به نوع و اعضای آن دسترسی پیدا کند |
protected | کلمه ی protected به کد های برنامه در همان کلاس و یا کلاس هایی که از آن کلاس مشتق شده اند اجازه دسترسی به نوع و اعضای خود را میدهد. |
عبارات رزرو شده
عبارات رزرو شده در سی شارپ عبارت اند از :
Statement Keywords | |||||||
---|---|---|---|---|---|---|---|
if | else | switch | case | do | for | foreach | in |
while | break | continue | default | goto | return | yield | throw |
try | catch | finally | checked | checked | fixed | lock |
کلمات رزرو شده در پارامتر های متد
کلمات رزرو شده ای که در پایین آورده شده اند بر روی پارامتر های یک متد اعمال میشوند.
Method Parameter Keywords | ||
---|---|---|
params | ref | out |
کلمات رزرو شده در فضای نام ها
کلمات رزرو شده ای که در پایین آورده شده است بر روی فضای نام و یا عملگر های مرتبط با آن اعمال میشوند.
Namespace Keywords | |
---|---|
using | عملگر نقطه ( . ) |
عملگر :: | extern alias |
کلمات رزرو شده ی عملگر
کلمات رزرو شده ی عملگر هر کدام اعمال مختلفی را انجام میدهند.
Operator Keywords | ||
---|---|---|
as | await | is |
new | sizeof | sizeof |
stackalloc | checked | unchecked |
کلمات رزرو شده ی دسترسی
کلمات رزرو شده ی دسترسی برای دسترسی به کلاس پایه و یا کلاس پدر یک شی و یا کلاس استفاده میشود.
Access keywords | |
---|---|
base | this |
کلمات رزرو شده Literal
کلمات رزرو شده ی Literal بر روی نمونه جاری و یا مقدار یک شی اعمال میشوند.
Literal Keywords | ||||
---|---|---|---|---|
null | false | true | value | void |
کلمات رزرو شده ی نوع
کلمات رزرو شده ی نوع برای تعریف انواع داده نوع ها استفاده میشود.
Type keywords | |||||
---|---|---|---|---|---|
bool | byte | char | class | decimal | double |
enum | float | int | long | sbyte | short |
string | struct | uint | uint | ushort |
کلمات کلیدی Contextual
کلمات کلیدی Contextual
فقط در مواردی که در یک زمینه ی مشخص استفاده شوند به عنوان کلمه ی کلیدی در نظر گرفته میشوند. در واقع آنها رزرو نشده هستند و میتوان از آنها به عنوان نام و شناسه استفاده کرد.
Contextual Keywords | ||
---|---|---|
add | var | dynamic |
global | set | value |
کلمات کلیدی Contextual وقتی که به عنوان یک شناسه استفاده میشوند به رنگ آبی در نمی آیند (رنگ پیشفرض برای کلمات رزرو شده در ویژوال استادیو). برای مثال کلمه ی var در شکل زیر به رنگ آبی نیست. بنابراین آن یک کلمه کلیدی Contextual است.
کلمات کلیدی پرس و جو (Query)
کلمات کلیدی پرس و جو (Query) کلمات کلیدی Contextual هستند که در پرس و جو های LINQ استفاده میشوند.
Query Keywords | ||||||
---|---|---|---|---|---|---|
from | where | select | group | into | orderby | join |
let | let | let | equals | by | ascending | descending |
همانطور که در بالا ذکر شد. کلمات رزرو شده نمیتوانند به عنوان شناسه استفاده شوند (نام متغیر ، کلاس ، اینترفیس و ...) . با این حال آنها میتوانند با استفاده از کاراکتر '@' مورد استفاده قرار گیرند. برای مثال class یک کلمه ی رزرو شده ی است بنابراین آن نمیتواند به عنوان یک شناسه مورد استفاده قرار بگیرد ، اما کلمه ی class@ همانطور که در زیر نشان داده شده است میتواند مورد استفاده قرار بگیرد.
using System;
public class @class
{ public static int MyProperty { get; set; }
}
public class Program
{
public static void Main()
{
@class.MyProperty = 100;
Console.WriteLine(@class.MyProperty);
}
}
به خاطر داشته باشید :
- کلماتی در زبان سی شارپ وجود دارند که رزرو شده اند و نمیتوان از آنها به عنوان نام و یا شناسه استفاده کرد.
- برای استفاده از کلمات رزرو شده به عنوان نام و یا شناسه در ابتدای آنها باید از پیشوند '@' استفاد کنید.
- سی شارپ دارای انوع مختلفی از کلمات رزرو شده است که در بالا به آنها اشاره کردیم.
- کلمات کلیدی Contextual میتوانند به عنوان شناسه مورد استفاده قرار گیرند.