دوره آموزش برنامه نویسی C#
کلیه حقوق مادی و معنوی این مقاله متعلق به آموزشگاه تحلیل داده می باشد و هر گونه استفاده غیر قانونی از آن پیگرد قانونی دارد.
آموزش ثابت و لیترال در سی شارپ
Constants به مقادیر ثابتی گفته می شود که برنامه در طول اجرا تغییر نمی دهد. این مقادیر ثابت literalهم نامیده می شوند. کانستنت ها می توانند از هر نوع داده ی پایه باشند، مانند یک عدد ثابت، یک شناور ثابت، یک کاراکتر ثابت و یا یک رشته ی لیترال. همچنین شمارش ثابت هم وجود دارد.
با constantها درست مانند متغیرهای منظم رفتار می شود به جز اینکه مقادیر آنها پس از تعریف آنها نمی توانند تعدیل شوند.
لیترال های صحیح
یک لیترال صحیح می تواند یک ثابت دسیمال ( دهدهی)، اکتال (هشتایی) یا هگزادسیمال (شانزده تایی) باشد. یک پیشوند، پایه یا مبنا را مشخص می کند: 0xیا 0Xبرای هگزادسیمال، 0 برای اکتال و برای دسیمال هیچ پیشوندی نیاز نیست.
یک لیترال صحیح می تواند به عنوان یک پسوند هم استفاده شود که ترکیبی از Uو Lمی باشد و بع ترتیب unsignو long هستند. پسوند می تواند با حرف کوچک یا حرف بزرگ یا با هر ترتیبی باشد.
در اینجا مثال هایی از لیترال های صحیح را می بینید.
212 /* Legal */
215u /* Legal */
0xFeeL /* Legal */
078 /* Illegal: 8 is not an octal digit */
032UU /* Illegal: cannot repeat a suffix */
در ادامه مثال های دیگری از انواع مختلف لیترال های صحیح را می بینید.
85 /* decimal */
0213 /* octal */
0x4b /* hexadecimal */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */
لیترال های floating point
یک لیترال floating pointدارای یک بخش صحیح، یک دسیمال پوینت، یک جز کسری و یک بخش توان می باشد. شما می توانید لیترال های floating point را به فرم دسیمال یا توانی نمایش دهید.
در اینجا چند مثال از لیترال های floating point را می بینید.
3.14159 /* Legal */
314159E-5L /* Legal */
510E /* Illegal: incomplete exponent */
210f /* Illegal: no decimal or exponent */
.e55 /* Illegal: missing integer or fraction */
هنگام نمایش استفاده از فرم دسیمال، شما باید نقطه ی اعشار و توان یا هر دو را وارد کنید و هنگام نمایش استفاده از فرم توانی باید قسمت صحیح و بخش کسری یا هر دو را وارد کنید. توان علامت دار با e یا Eمعرفی می شود.
کاراکتر ثابت (character constants)
لیترال های کاراکتر در علامت های تک نقل قول قرار می گیرند، به عنوان مثال ‘X’ ، و در یک متغیر ساده از نوع charذخیره می شوند. یک کاراکتر لیترال می تواند یک کاراکتر ساده باشد ( به عنوان مثال ‘X’)، یک دنباله ی فرار escape sequence( برای مثال ‘/t’) یا یک کاراکتر جهانی (به عنوان مثال ‘\u02C0’).
کاراکتر های معینی در C#وجود دارد که وقتی با یک بک اسلش دنبال می شوند معنای خاصی خواهند گرفت و برای نمایش مواردی چون newline (\n)و tab(\t)استفاده می شوند. در اینجا یک لیست ازبرخی کدهای دنباله ی فرار را می بینید.
Escape sequence | Meaning |
\\ | \ character |
\' | ' character |
\" | " character |
\? | ? character |
\a | Alert or bell |
\b | Backspace |
\f | Form feed |
\n | Newline |
\r | Carriage return |
\t | Horizontal tab |
\v | Vertical tab |
\ooo | Octal number of one to three digits |
\xhh . . . | Hexadecimal number of one or more digits |
در زیر مثالی را می بینید برای نشان دادن برخی کاراکتر های دنباله ی Escape
namespace EscapeChar
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello\tWorld\n\n");
Console.ReadLine();
}
}
}
وقتی برنامه ی بالا کامپایل شده و اجرا می شود، نتیجه ی زیر را به دنبال دارد.
Hello World
استرینگ لیترال ها (string literals)
استرینگ لیترال ها یا ثابت ها در نقل قول های دوتایی قرار می گیرند “”orwith@””. یک استرینگ شامل کاراکترهایی می باشد که شبیه به لیترال های کاراکتر (character literals)می باشند: کاراکترهای ساده، دنباله های فرار و کاراکترهای جهانی.
شما می توانید یک خط بلند را با استفاده از استرینگ لیترال ها به چندخط کوتاه بشکنید و با استفاده از فضاهای سفید بخش ها را از هم مجزا کنید.
در اینجا چند مثال استرینگ لیترال ها می بینید. هر سه فرم استرینگ های یکسان می باشند.
"hello, dear"
"hello, /
dear"
"hello,””d””ear”
@”hellodear”
تعریف ثابت ها
ثابت ها با استفاده از کلمه ی کلیدی constتعریف می شوند. ترکیب برای تعریف یک ثابت به شکل زیر می باشد.
Const=value;
برنامه ی زیر تعریف و استفاده از یک ثابت را در برنامه ی شما توضیح می دهد.
using System;
namespace DeclaringConstants
{
class Program
{
static void Main(string[] args)
{
const double pi = 3.14159; // constant declaration
double r;
Console.WriteLine("Enter Radius: ");
r = Convert.ToDouble(Console.ReadLine());
double areaCircle = pi * r * r;
Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);
Console.ReadLine();
}
}
}
وقتی که برنامه ی بالا کامپایل شده و اجرا می شود، نتیجه ی زیر را به دنبال دارد.
Enter Radius:
3
Radius: 3, Area: 28.27431