نامهایی هستند که ما برنامهنویسها انتخاب میکنیم. مثلاً در کد بالا، System، x، Console و WriteLine همگی شناسه هستند.
-- قواعد مهم: به بزرگی و کوچکی حروف حساساند (case-sensitive).
--کنوانسیون نامگذاری:
Camel Case (myLocalVariable)
برای پارامترها، متغیرهای محلی و فیلدهای خصوصی.
Pascal Case (MyLocakMethod)
برای بقیه شناسهها (کلاسها، متدها، Propertyها).
--کلمات کلیدی(Keywords):
واژههایی هستند که برای کامپایلر معنی خاص و از پیش تعریف شدهای دارن. در مثال ما، using و int کلمات کلیدی هستند.
--کلمات کلیدی رزرو شده: بیشتر کلمات کلیدی #C رزرو شدهاند و نمیتوانید از آنها به عنوان شناسهی معمولی استفاده کنید. (مثل class, public, if, for و ...).
نکته باحال : اگر واقعاً مجبور شدید، میتوانید با قرار دادن @ قبل از کلمه کلیدی، از آن به عنوان شناسه استفاده کنید:
int @using = 123;
کلمات کلیدی متنی(Contextual Keywords):
یک سری کلمات کلیدی هستند که در برخی زمینهها معنی خاصی دارند ولی میتوانید از آنها به عنوان شناسه هم استفاده کنید، چون ابهامی ایجاد نمیکنند (مثل var, async, await, yield).