لیترال در سی شارپ #C — همراه با مثال به زبان ساده

تصویر شاخص لیترال در سی شارپ

مقادیر ثابت به عنوان لیترال «Literal» شناخته می‌شوند. لیترال مقداری است که توسط متغیرها استفاده می‌شود. مقادیر می‌توانند به صورت عدد صحیح، اعشاری، رشته‌ای و غیره باشند. در این مقاله، از سری مقالات آموزشی پی استور به بررسی انواع مختلف لیترال در سی شارپ #C می‌پردازیم، از جمله لیترال‌های عدد صحیح، اعشاری، رشته‌ای، کاراکتری و منطقی. با شناخت دقیق این انواع و ویژگی‌های آن‌ها، می‌توانیم از آن‌ها به درستی در برنامه‌نویسی استفاده کنیم و کدهای بهینه‌تر و قابل فهم‌تری بنویسیم.

لطفاً مقاله قبلی ما را مطالعه کنید، جایی که در مورد انواع داده در #C با مثال‌ها بحث کردیم. در پایان این مقاله، شما خواهید فهمید که لیترال چیست و چه زمانی و چگونه باید از لیترال ها در برنامه‌های سی شارپ #C استفاده کرد.

لیترال در سی شارپ

در زبان‌های برنامه‌نویسی، مقادیر ثابت به عنوان لیترال‌ها Literals شناخته می‌شوند که به عنوان داده‌های از پیش تعیین‌شده در برنامه‌ها عمل می‌کنند. این مقادیر ثابت می‌توانند انواع مختلفی داشته باشند و در کدهای برنامه‌نویسی برای مقداردهی به متغیرها و انجام محاسبات استفاده شوند. هر نوع داده‌ای که به صورت مستقیم در کد نوشته می‌شود، چه عدد صحیح، اعشاری، رشته‌ای یا منطقی، یک Literal محسوب می‌شود.

لیترال در سی شارپ #C مقادیر ثابت (یا مقادیر از پیش تعیین شده) هستند که به متغیر شما اختصاص داده می‌شوند و این مقادیر در حین اجرای برنامه نمی‌توانند تغییر کنند.

مقادیر ثابت به نام لیترال در سی شارپ شناخته می‌شوند. Literal مقداری است که توسط متغیرها استفاده می‌شود. برای مثال، int x = 100، در اینجا x یک متغیر است و ۱۰۰ یک literal است.

انواع لیترال در سی شارپ

لیترال ها می‌توانند از انواع زیر باشند:

  • لیترال‌های عدد صحیح «Integer Literals»
  • لیترال‌های اعشاری «Floating-point Literals»
  • لیترال‌های کاراکتری «Character Literals»
  • لیترال‌های رشته‌ای «String Literals»
  • لیترال‌های منطقی «Boolean Literals»

تصویری از انواع لیترال در سی شارپ

در ادمه این مقاله هر یک از این لیترال ها را در سی شارپ با مثال‌ها بررسی می‌کنیم.

لیترال های عدد صحیح در سی شارپ

یک literal از نوع عدد صحیح به عنوان literal عدد صحیح شناخته می‌شود. این نوع می‌تواند به صورت اعشاری «decimal»، دودویی «binary» یا شانزده‌شانزدهی «hexadecimal» باشد. در اینجا، باید از پیشوندهایی برای مشخص کردن نوع Literal استفاده کنیم. برای مثال، اگر Literal دودویی باشد، باید با 0b شروع شود و اگر هگزادسیمال باشد، با 0X شروع می‌شود. برای اعداد اعشاری نیازی به پیشوند نیست. یک پسوند همچنین می تواند با لیترال‌های اعداد صحیح مانند U یا u برای اعداد بدون علامت «unsigned» استفاده شود، در حالی که  L یا l برای اعداد طولانی «long» استفاده می‌شود. به طور پیش‌فرض، هر literal از نوع int است.

برای انواع داده‌های عددی (byte، short، int، long) می‌توان لیترال‌ها را به شکل‌های زیر مشخص کرد:

  • لیترال‌های اعشاری Decimal literals (پایه ۱۰): در این شکل، ارقام مجاز بین ۰ تا ۹ هستند.
int x = 101;
  • لیترال‌های  شانزده‌شانزدهی Hexa-decimal Literals (پایه ۱۶): در این نوع، ارقام مجاز بین ۰ تا ۹ و حروف بین a تا f هستند. می‌توان از حروف بزرگ و کوچک استفاده کرد.
    با وجود اینکه زبان برنامه‌نویسی #C حساس به حروف بزرگ و کوچک (case-sensitive) است، در اینجا این حساسیت اعمال نمی‌شود. عدد هگزادسیمال باید با 0X یا 0x شروع شود و با Face خاتمه یابد.
int x = 0X123Face; 
  • لیترال‌های دودویی Binary Literals (پایه ۲): در این نوع، ارقام مجاز تنها ۱ و ۰ هستند. عدد دودویی باید با 0b شروع شود.
int x = 0b101

مثال

045uu    // invalid: suffix (u) is repeated
0b105    // invalid: 5 is not a binary digit
0b101    // valid binary literal
۴۵۶      // valid decimal literal
0x65d    // valid hexadecimal literal 
۱۲۳۵۶    // valid int literal 
304U     // valid unsigned int literal 
3078L    // valid long literal 
965UL    // valid unsigned long literal 

برنامه

// C# program to illustrate the use of Integer Literals
using System;

class ProgramStore
{

 // Main method
 public static void Main(String[] args)
 { 
 
  // decimal-form literal
  int a = 101;

  // Hexa-decimal form literal
  int c = 0xFace;
 
  // binary-form literal
  int x = 0b101;
   Console.WriteLine("Decimal Literal: " + a);
Console.WriteLine("Hexa-Decimal Literal: " + c);
Console.WriteLine("Binary Literal: " + x);
 }
}

خروجی

Decimal Literal: 101
Hexa-Decimal Literal: 64206
Binary Literal: 5

لیترال های اعشاری در سی شارپ

لیترال‌هایی که قسمت عدد صحیح، نقطه اعشاری، قسمت کسری و قسمت نمایی دارند، به عنوان لیترال‌های اعشاری شناخته می‌شوند. این مقادیر می‌توانند هم به صورت اعشاری و هم به صورت نمایی نمایش داده شوند. لیترال‌های اعشاری برای نوشتن مقادیر از انواع float، double و decimal استفاده می‌شوند.

مثال‌ها

Double d = 3.14145       // Valid
Double d = 312569E-5      // Valid
Double d = 125E             // invalid: Incomplete exponent 
Double d = 784f            // valid
Double d = .e45           // invalid: missing integer or fraction

برنامه

// C# program to illustrate the use of
// floating-point literals
using System;

class ProgramStore
{

 // Main Method
 public static void Main(String[] args)
 {
  // decimal-form literal
  double a = 101.230;

  // It also acts as decimal literal
  double b = 0123.222;

  Console.WriteLine(a);
  Console.WriteLine(b);
 }
}

خروجی

۱۰۱.۲۳
۱۲۳.۲۲۲

نکته:
به طور پیش‌فرض، هر literal اعشاری از نوع double است و به همین دلیل نمی‌توان آن را مستقیماً به یک متغیر از نوع float اختصاص داد. اگر بخواهید مقادیر را به متغیر float اختصاص دهید، باید پسوند f یا F را در انتهای لیترال‌ اعشاری اضافه کنید. همچنین، می‌توان به طور صریح لیترال‌ اعشاری را به نوع double با پسوند d یا D مشخص کرد، البته این روش اجباری نیست.

لیترال های کاراکتری در سی شارپ

برای انواع داده‌های کاراکتری، می‌توان لیترال‌ها را به سه روش زیر مشخص کرد:

علامت نقل قول واحد «Single quote»: می‌توان literal را به نوع داده char به صورت یک کاراکتر واحد داخل علامت نقل قول تنها مشخص کرد.

char ch = 'a';

نمایش یونیکد «Unicode Representation»: می‌توان literals کاراکتری را به صورت نمایشی یونیکد مشخص کرد به شکل ‘uxxxx\’. در اینجا xxxx نمایانگر ۴ عدد شانزده‌شانزدهی است.

char ch = '\u0061';// Here /u0061 represent a.

دنباله‌ فرار «Escape Sequence»: هر کاراکتر فرار «Escape character» می‌تواند به عنوان char literal مشخص شود.

char ch = '\n';

در جدول زیر فهرستی از برخی دنباله‌های فرار موجود در #C آورده شده است.

دنباله فرار معنی
\\ کاراکتر \
’\ کاراکتر ‘
?\ کاراکتر ?
”\ کاراکتر “
b\ بک‌اسپیس
a\ هشدار یا زنگ
n\ خط جدید
f\ پیکربندی فرم
r\ برگشت به ابتدای خط
v\ تب عمودی
xhh…\ عدد هگزادسیمال با یک یا چند رقم

مثال

// C# program to illustrate the use of char literals
using System;

class ProgramStore
{
 // Main Method
 public static void Main(String[] args)
 {
  // character literal within single quote
  char ch = 'a';

  // Unicode representation
  char c = '\u0061';

  Console.WriteLine(ch);
  Console.WriteLine(c);

  // Escape character literal
  Console.WriteLine("Hello\nProgramStore\tLiterals");
 }
}

خروجی

a
a
Hello
ProgramStore	Literals

لیترال های رشته‌ای در سی شارپ

لیترال‌هایی که در داخل نقل قول‌های دوگانه (“”) قرار دارند یا با “”@ شروع می‌شوند، به عنوان لیترال‌های رشته‌ای شناخته می‌شوند.

مثال

String s1 = "Hello ProgramStore!";

String s2 = @"Hello ProgramStore!";

برنامه

// C# program to illustrate the use of String literals
using System;

class ProgramStore {

 // Main Method
 public static void Main(String[] args)
 {

  String s = "Hello ProgramStoreProgramStore!";
  String s2 = @"Hello ProgramStore!";

  // If we assign without "" then it
  // treats as a variable
  // and causes compiler error
  // String s1 = ProgramStore;

  Console.WriteLine(s);
  Console.WriteLine(s2);
 }
}

خروجی

Hello ProgramStoreProgramStore!
Hello ProgramStore!

لیترال های منطقی در سی شارپ

در سی شارپ فقط دو مقدار برای لیترال‌های منطقی مجاز هستند، یعنی true و false.

مهم است توجه داشته باشید که، مقادیر true و false به هیچ‌وجه به نمایه عددی تبدیل نمی‌شوند. برای مثال، literal true در #C معادل ۱ نیست و literal false معادل ۰ نیست.

مثال

bool b = true;
bool c = false;
bool b3 = 0; //Error
bool b4 = 1; //Error

توجه: مقادیر true و false باید به صورت حروف کوچک (lowercase) اختصاص داده شوند، در غیر این صورت با خطای زمان کامپایل مواجه خواهید شد. به عبارت دیگر، استفاده از True یا False به حروف بزرگ نادرست است و باعث بروز خطا می‌شود.

bool b1 = True; //Error
bool b2 = False; //Error
bool b1 = TRUE; //Error
bool b2 = FALSE; //Error

برنامه

// C# program to illustrate the use
// of boolean literals
using System;

class ProgramStore
{

 // Main Method
 public static void Main(String[] args)
 {
  bool b = true;
  bool c = false;

  // these will give compile time error
  // bool d = 0;
  // bool e = 1;
  // Console.WriteLine(d);
  // Console.WriteLine(e);

  Console.WriteLine(b);
  Console.WriteLine(c);
 }
}

خروجی

True
False

نتیجه‌گیری

در نهایت، لیترال‌ها به عنوان مقادیر ثابت و از پیش تعیین‌شده در زبان‌های برنامه‌نویسی نقش مهمی در فرآیند نوشتن کد ایفا می‌کنند. انواع مختلف لیترال در سی شارپ مانند عدد صحیح، اعشاری، رشته‌ای، کاراکتری و منطقی هرکدام کاربرد خاص خود را دارند و با استفاده صحیح از آن‌ها می‌توان کدهای دقیق و کارآمد نوشت. آگاهی از ویژگی‌ها و نحوه استفاده از هر نوع Literal به برنامه‌نویسان این امکان را می‌دهد که مقادیر مورد نظر خود را به راحتی و به شکل درست در برنامه‌ها اعمال کنند. بنابراین، درک درست از Literals برای توسعه‌دهندگان از اهمیت بالایی برخوردار است تا بتوانند در پروژه‌های برنامه‌نویسی خود به بهترین شکل ممکن عمل کنند.

میزان رضایتمندی
لطفاً میزان رضایت خودتان را از این مطلب با دادن امتیاز اعلام کنید.
[ امتیاز میانگین 5 از 11 نفر ]
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع و مراجع:
مجله پی استور geeksforgeeks dotnettutorials

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

3 دیدگاه دربارهٔ «لیترال در سی شارپ #C — همراه با مثال به زبان ساده»



برچسب‌ها:
سی شارپ


پیمایش به بالا