در این مقاله از مقالات آموزشی پی استور، به بررسی تعریف متغیر در سی شارپ #C و دو نوع مقداردهی در زمان کامپایل و مقداردهی در زمان اجراپرداخته و تفاوتهای آنها را بررسی خواهیم کرد. این مفاهیم از اصول اولیه برنامهنویسی هستند که در زبانهای مختلف برنامهنویسی، از جمله #C، کاربرد زیادی دارند.
در دنیای برنامهنویسی، استفاده از متغیرها «Variables» نقش بسیار مهمی در ذخیرهسازی و پردازش دادهها ایفا میکند. متغیرها به ما این امکان را میدهند که مقادیر مختلفی را در طول اجرای برنامه مدیریت کنیم. برای اینکه این مقادیر به درستی در برنامه استفاده شوند، نیاز است که ابتدا به متغیرها مقدار داده شود. این فرآیند را مقداردهی اولیه مینامند. مقداردهی اولیه میتواند به دو صورت انجام شود.
مقدمه
یک برنامه معمولی از مقادیر مختلفی استفاده میکند که ممکن است در طول اجرای آن تغییر کنند. به عنوان مثال، برنامهای که عملیات خاصی را روی مقادیر واردشده توسط کاربر انجام میدهد. مقادیر واردشده توسط یک کاربر ممکن است با مقادیر واردشده توسط کاربر دیگر متفاوت باشد. بنابراین، استفاده از متغیرها ضروری میشود، زیرا کاربر دیگری ممکن است از مقادیر مشابه استفاده نکند.
هنگامی که یک کاربر مقدار جدیدی را وارد میکند که در فرآیند عملیات استفاده خواهد شد، این مقدار به طور موقت در حافظه تصادفی (RAM) کامپیوتر ذخیره میشود و این مقادیر در این بخش از حافظه در طول اجرا تغییر میکنند. از این رو، اصطلاح دیگری برای این مفهوم مطرح شد که به عنوان متغیر شناخته میشود.
به طور خلاصه، متغیر یک جایگاه برای اطلاعات است که میتواند در زمان اجرا تغییر کند و به ما امکان بازیابی و دستکاری اطلاعات ذخیرهشده را میدهد.
سینتکس Syntax:
type variable_name = value; or type variable_names;
مثال:
char var = 'h'; // Declaring and Initializing character variable int a, b, c; // Declaring variables a, b and c of int type
ویژگیهای متغیر در سی شارپ
در زبان برنامهنویسی سیشارپ #C، متغیرها به عنوان مکانهایی در حافظه برای ذخیره دادهها استفاده میشوند. متغیرها دارای ویژگیهای متعددی هستند که آنها را از یکدیگر متمایز میکند. در ادامه به بررسی ویژگیهای متغیر در سی شارپ پرداخته شده است:
نام name: باید یک شناسه معتبر باشد. متغیرها باید نامی داشته باشند که مشخص و معنادار باشد. به عنوان مثال، در نمونه بالا، var یک شناسه معتبر است.
نوع type: هر متغیر در سیشارپ باید دارای یک نوع داده مشخص باشد که تعیین میکند چه نوع اطلاعاتی میتواند در آن ذخیره شود. در مثال بالا، char نوع متغیر است.
انواع دادهها عبارتند از:
نوعهای اصلی (Value Types):
- عدد صحیح: int, long, short, byte
- عدد اعشاری: float, double, decimal
- کاراکتر: char
- بولی: bool
نوعهای مرجع (Reference Types):
- رشته: string
- آرایهها: array
- شیء: object
مقدار value: متغیرها در سیشارپ قبل از استفاده باید مقداردهی شوند، در غیر این صورت خطای کامپایل رخ میدهد. داده واقعی که باید در متغیر ذخیره شود. در مثال بالا، مقدار ‘h’ است.
قوانین نامگذاری متغیر در سی شارپ
در زبان برنامهنویسی سیشارپ #C، قوانین خاصی برای نامگذاری متغیرها وجود دارد که رعایت آنها ضروری است تا کد قابل فهم و بدون خطا باشد.
- نام متغیرها میتواند شامل حروف a-z ،A-Z، اعداد ۰-۹ و کاراکتر _ باشد.
- نام متغیر نمیتواند با یک عدد شروع شود.
- نام متغیر نمیتواند یکی از کلمات کلیدی زبان #C باشد، مانند int، float، null، String و غیره.
- اگر نیاز دارید که از کلمه کلیدی رزرو شده به عنوان نام استفاده کنید، میتوانید از @ قبل از کلمه استفاده کنید (این برای کلمات کلیدی خاصی مانند class کاربرد دارد).
- همیشه سعی کنید نامهای متغیر به گونهای انتخاب شوند که معنای واضحی داشته باشند و نوع داده یا کاربرد متغیر را نشان دهند. این کار باعث افزایش خوانایی و فهم کد میشود.
- سعی کنید نامها کوتاه نباشند، اما از نامهای خیلی طولانی نیز پرهیز کنید.
با رعایت این قوانین، کد شما هم خوانا و هم استاندارد خواهد بود.
مثال ها:
نام متغیرهای معتبر
int age; float _studentname;
نام متغیرهای نامعتبر
int if; // "if" is a keyword float 12studentname; // Cannot start with digit
تعریف متغیر در سی شارپ
در زبان برنامهنویسی سیشارپ، تعریف یا اعلان یک متغیر به معنای ایجاد یک متغیر و تعیین نوع داده آن است. این کار معمولاً در ابتدا انجام میشود تا برای ذخیرهسازی اطلاعات استفاده شود. برای اعلان متغیرها، باید قوانین زیر رعایت شوند:
- نوع دادهای که متغیر قرار است ذخیره کند، باید مشخص شود (مانند int ،string ،bool و غیره).
- یک نام معتبر برای متغیر تعریف کنید (مثلاً age).
- مقدار اولیه به متغیر اختصاص دهید (مثلاً ۱۷).
مثال:
int pstore; float interest;
مقداردهی اولیه به معنای اختصاص دادن مقداری به یک متغیر است. به طور کلی، استفاده واقعی از متغیرها زمانی آغاز میشود که به آنها مقدار داده شود.
در زبان #C، هر نوع دادهای یک مقدار پیشفرض دارد که در صورتی که مقدار مشخصی به متغیر اختصاص داده نشود، استفاده میشود.
مقداردهی اولیه میتواند به صورت جداگانه و همراه با اعلان متغیر انجام شود.
مثال
int y = 7; // Declaring and initializing the variable at same time int x; // Declaring variable x x = 5; // initializing x with value 5
دو روش برای مقداردهی اولیه وجود دارد:
- مقداردهی اولیه در زمان کامپایل «Compile-time initialization»: در این روش، مقدار متغیر هنگام نوشتن کد (در زمان کامپایل) مشخص میشود.
- مقداردهی اولیه در زمان اجرا «Runtime Initialization»: در این روش، مقدار متغیر در هنگام اجرای برنامه تعیین میشود.
۱- مقداردهی اولیه در زمان کامپایل
این به معنای اختصاص دادن مقدار به متغیرها در هنگام کامپایل برنامه است. اگر برنامهنویس مقداری را مشخص نکند، در برخی موارد کامپایلر مقدار پیشفرضی به متغیرها اختصاص خواهد داد. به طور کلی، این نوع مقداردهی اولیه زمانی مفید است که برنامهنویس بخواهد مقدار پیشفرضی را برای متغیرها تعیین کند.
مثال
// C# program to demonstrate the // Compile Time Initialization using System; class Pstore { // only declaration, compiler will // provide the default value 0 to it int y; // Main Method public static void Main(String []args) { // Compile Time Initialization of variable 'x' // Assigning value 32 to x int x = 32; // printing the value Console.WriteLine("Value of x is "+x); // creating object to access // the variable y Pstore pms = new Pstore(); // printing the value Console.WriteLine("Value of y is "+pms.y); } }
خروجی
Value of x is 32 Value of y is 0
۲- مقداردهی اولیه در زمان اجرا
در این روش، کاربر باید مقدار را وارد کند و آن مقدار به متغیر مورد نظر اختصاص مییابد. در این نوع مقداردهی اولیه، یک امکان دیگر نیز وجود دارد که در آن مقدار به متغیر پس از اتمام فراخوانی تابع اختصاص داده میشود.
مثال
Input : 45 Output : Value of num is 45 Input : 27 Output : Value of num is 27
پیادهسازی
// C# program to demonstrate the // Run Time Initialization using System; class Pstore { // Main Method public static void Main(String []args) { // Value will be taken from user // input and assigned to variable // num int num = Convert.ToInt32(Console.ReadLine()); // printing the result Console.WriteLine("Value of num is " + num); } }
خروجی
Value of num is 45
توجه: در کد بالا، متد ()Console.ReadLine از کاربر خواسته میشود تا مقداری وارد کند و سپس همان مقدار در متغیر num قرار میگیرد. بنابراین، مقدار مطابق با ورودی کاربر نمایش داده خواهد شد.
انواع متغیر در سی شارپ
در زبانهای برنامهنویسی شیءگرا مانند #C، متغیرها به دستههای مختلفی تقسیم میشوند که هرکدام ویژگیها و کاربردهای مخصوص به خود را دارند. از جمله این انواع میتوان به متغیرهای محلی، نمونهای، استاتیک، ثابت و فقطخواندنی اشاره کرد.اگر میخواهید اطلاعات بیشتری درباره انواع متغیرها به دست آورید، مقاله ما را با عنوان انواع متغیر در سی شارپ مطالعه کنید.
جمع بندی
در پایان، میتوان گفت که مقداردهی اولیه یکی از مفاهیم پایهای در برنامهنویسی است که نقش مهمی در مدیریت دادهها و عملکرد برنامهها دارد. در این مقاله، به بررسی متغیر در سی شارپ #C و دو روش اصلی مقداردهی اولیه پرداخته شد: مقداردهی در زمان کامپایل و مقداردهی در زمان اجرا. در روش اول، مقادیر از پیش تعیین شده و در هنگام نوشتن کد به متغیرها اختصاص مییابد، در حالی که در روش دوم، مقادیر در هنگام اجرای برنامه و بسته به ورودی کاربر یا دیگر شرایط تعیین میشوند.
هر یک از این روشها در موقعیتهای خاص خود مفید هستند و انتخاب روش مناسب بستگی به نیاز برنامهنویس و نوع پروژه دارد. آگاهی از این دو نوع مقداردهی و نحوه استفاده صحیح از آنها، به برنامهنویسان کمک میکند تا برنامههایی کارآمدتر و قابل پیشبینیتر بنویسند.
واقعا که متغیر رو ساده و روان توضیح دادید. مقالهی خوبی هست. ممنون
با سلام
متغیر را بسیار ساده و روان توضیح دادید. ولی خیلی خوب میشد اگر دربارهی انواع متغیر هم مینوشتید. با سپاس
سلام ممنون از لطفتون، ما درباره انواع متغیر هم مقاله داریم اگر می خواهید دربارهی انواع متغیر مطالعه کنید روی این لینک کلیک کنید.