پرش به محتویات

شروع کدنویسی

انواع داده

  • داده: ورودی‌هایی که به کامپیوتر داده می‌شوند و پس از پردازش به خروجی تبدیل می‌شوند.
  • انواع داده:
  • داده‌های اولیه: از پیش تعریف‌شده در دات نت (عددی و غیرعددی).
  • داده‌های تعریف‌شده توسط برنامه‌نویس: مانند آرایه‌ها و شمارنده‌ها.
  • دسته‌بندی داده‌ها:
  • داده‌های مقداری: ذخیره در پشته.
  • داده‌های مرجع: ذخیره در هیپ.

انواع داده‌های عددی

نوع داده محدوده اندازه (بایت)
byte 0 تا 255 1
sbyte -128 تا 127 1
short -32768 تا 32767 2
ushort 0 تا 65535 2
int -2147483648 تا 2147483647 4
uint 0 تا 4294967295 4
long -9223372036854775808 تا 9223372036854775807 8
ulong 0 تا 18446744073709551615 8
float ±1.5 x 10^-45 تا ±3.4 x 10^38 4
double ±5.0 x 10^-324 تا ±1.7 x 10^308 8

انواع داده‌های غیرعددی

نوع داده مثال اندازه
char 'A' 2 بایت
string "Erfan Zidehsaraei" متغیر
DateTime "5/31/2012 1:43:18 AM" 8 بایت
bool true یا false 1 بایت
object شامل تمام انواع داده‌ها نامحدود

متغیرها

  • متغیر: مکانی در حافظه برای نگهداری داده‌ها.
  • تعریف متغیر: csharp نوع_داده نام_متغیر;
  • قوانین نامگذاری:
  • ترکیبی از حروف، ارقام و زیرخط.
  • اولین کاراکتر نباید رقم باشد.
  • نباید از کلمات کلیدی استفاده شود.
  • طول نام بین 1 تا 511 کاراکتر.
  • استفاده از کاراکترهای خاص مانند *, !, $, ?, /, \, <, >, و فاصله مجاز نیست.

مقداردهی به متغیرها

  • روش‌های مقداردهی:
  • هنگام تعریف: csharp char x = 'a';
  • پس از تعریف: csharp string str; str = "Bahar";
  • از طریق ورودی کاربر: csharp string str = textbox1.Text;

حوزه دستیابی به متغیرها

  • حوزه (Scope): فضای داخل یک بلوک {} که در آن متغیر تعریف شده است.
  • قوانین:
  • متغیر فقط در همان بلوک و زیربلوک‌ها قابل دسترسی است.
  • می‌توان از دو متغیر با نام یکسان در بلوک‌های مختلف استفاده کرد.

تبدیل نوع

  • تبدیل ضمنی (Implicit): بدون دخالت برنامه‌نویس. csharp Single a = 5; Double b = 14.5; Double s = a + b;
  • تبدیل صریح (Explicit): با استفاده از امکانات زبان.
  • استفاده از Convert: csharp string z = "1234"; int y = System.Convert.ToInt32(z);
  • استفاده از ToString: csharp Single a = 664000; string str = a.ToString();
  • استفاده از Parse: csharp string str = "123.5"; double x = double.Parse(str);
  • تبدیل آگاهانه: csharp Single a = 14; double b = 12.5; a = (Single)b;

عملگرها

  • انواع عملگرها:
  • محاسباتی: +, -, *, /, %, ++, --.
  • رابطه‌ای: >, <, >=, <=, ==, !=.
  • منطقی: &&, ||, !.
  • ترکیبی: +=, -=, *=, /=, %=.
  • بیتی: &, |, ^, ~, <<, >>.

اولویت اجرای عملگرها

  • ترتیب اولویت:
  • پرانتز ().
  • عملگرهای یکانی (++, --, !).
  • عملگرهای ضرب و تقسیم (*, /, %).
  • عملگرهای جمع و تفریق (+, -).
  • عملگرهای رابطه‌ای (>, <, >=, <=).
  • عملگرهای منطقی (&&, ||).

خواص و رویدادهای کنترل TextBox

  • خواص:
  • Text: متن داخل TextBox.
  • MaxLength: حداکثر طول متن.
  • Multiline: امکان نوشتن چند خطی.
  • ReadOnly: غیرقابل ویرایش بودن متن.
  • رویدادها:
  • TextChanged: هنگام تغییر متن.
  • Enter: هنگام انتخاب کنترل.
  • Leave: هنگام ترک کنترل.

مثال‌ها

  1. نمایش متن در دو TextBox: csharp private void textBox1_TextChanged(object sender, EventArgs e) { textBox2.Text = textBox1.Text.ToUpper(); }
  2. محاسبه مساحت مستطیل: csharp private void button1_Click(object sender, EventArgs e) { float a = Convert.ToSingle(textBox1.Text); float b = Convert.ToSingle(textBox3.Text); textBox2.Text = Convert.ToString(a * b); }

پاسخ‌های سوالات


۱. دستورات شرطی if و else در C# چگونه کار می‌کنند؟

  • پاسخ:
    دستور if برای اجرای یک بلوک کد در صورتی که شرط داده‌شده درست (true) باشد استفاده می‌شود. اگر شرط نادرست (false) باشد، بلوک کد داخل if اجرا نمی‌شود و در صورت وجود else، بلوک کد داخل else اجرا می‌شود.
    مثال: csharp if (age > 18) { Console.WriteLine("بزرگسال"); } else { Console.WriteLine("نوجوان"); }

۲. چگونه می‌توان از دستور if تودرتو برای بررسی چند شرط استفاده کرد؟

  • پاسخ:
    با استفاده از else if می‌توان چند شرط را به صورت تودرتو بررسی کرد. اگر شرط اول درست نباشد، شرط دوم بررسی می‌شود و به همین ترتیب ادامه می‌یابد.
    مثال: csharp if (score >= 90) { Console.WriteLine("نمره A"); } else if (score >= 80) { Console.WriteLine("نمره B"); } else if (score >= 70) { Console.WriteLine("نمره C"); } else { Console.WriteLine("نمره D"); }

۳. کادر پیام (MessageBox) در C# چه کاربردی دارد و چگونه استفاده می‌شود؟

  • پاسخ:
    MessageBox برای نمایش پیام‌ها یا دریافت پاسخ از کاربر استفاده می‌شود. با استفاده از متد Show می‌توان پیام، عنوان، دکمه‌ها و آیکون را تنظیم کرد.
    مثال: csharp MessageBox.Show("آیا مطمئن هستید؟", "تأیید", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

۴. چگونه می‌توان یک برنامه ساده برای محاسبه مالیات و حقوق خالص نوشت؟

  • پاسخ:
    با استفاده از دستور if می‌توان مالیات را بر اساس حقوق محاسبه کرد.
    مثال: csharp double salary = 12000000; double tax; if (salary < 10000000) { tax = salary * 0.10; } else { tax = salary * 0.05; } double netSalary = salary - tax; Console.WriteLine("حقوق خالص: " + netSalary);

۵. کنترل‌های نگهدارنده (Containers) در C# چه کاربردی دارند و انواع آن‌ها چیست؟

  • پاسخ:
    کنترل‌های نگهدارنده برای گروه‌بندی و سازماندهی کنترل‌ها استفاده می‌شوند. انواع آن‌ها شامل GroupBox, Panel, TabControl, و TableLayoutPanel هستند.
    مثال:
  • GroupBox: برای گروه‌بندی کنترل‌ها با عنوان.
  • Panel: برای گروه‌بندی کنترل‌ها بدون عنوان.

۶. تفاوت بین کنترل‌های CheckBox و RadioButton در C# چیست؟

  • پاسخ:
  • CheckBox: برای انتخاب چند گزینه از چند گزینه استفاده می‌شود.
  • RadioButton: برای انتخاب یک گزینه از چند گزینه استفاده می‌شود.
    مثال:
  • CheckBox: انتخاب علاقه‌مندی‌ها (مثلاً ورزش، موسیقی).
  • RadioButton: انتخاب جنسیت (مثلاً مرد، زن).

۷. دستور شرطی switch در C# چگونه کار می‌کند و چه مزایایی دارد؟

  • پاسخ:
    switch برای بررسی مقادیر مختلف یک متغیر استفاده می‌شود. اگر مقدار متغیر با یکی از caseها مطابقت داشته باشد، بلوک کد مربوطه اجرا می‌شود.
    مثال: csharp int day = 3; switch (day) { case 1: Console.WriteLine("شنبه"); break; case 2: Console.WriteLine("یکشنبه"); break; default: Console.WriteLine("روز نامعتبر"); break; }

۸. چگونه می‌توان یک برنامه ساده برای نمایش نام روزهای هفته با استفاده از switch نوشت؟

  • پاسخ:
    با استفاده از switch می‌توان عددی بین 1 تا 7 را به نام روزهای هفته تبدیل کرد.
    مثال: csharp int day = Convert.ToInt32(textBox1.Text); switch (day) { case 1: MessageBox.Show("شنبه"); break; case 2: MessageBox.Show("یکشنبه"); break; // سایر روزها default: MessageBox.Show("عدد خارج از محدوده"); break; }

۹. چگونه می‌توان یک فرم جدید به پروژه در Visual Studio اضافه کرد؟

  • پاسخ:
  • در Solution Explorer، راست‌کلیک روی پروژه.
  • انتخاب Add > Windows Form.
  • نام‌گذاری فرم جدید و کلیک Add.

۱۰. ویژگی Checked در کنترل‌های CheckBox و RadioButton چه کاربردی دارد؟

  • پاسخ:
    ویژگی Checked نشان‌دهنده وضعیت انتخاب کنترل است. اگر true باشد، کنترل انتخاب شده است و اگر false باشد، انتخاب نشده است.
    مثال: csharp if (checkBox1.Checked) { Console.WriteLine("CheckBox انتخاب شده است"); }

۱۱. چگونه می‌توان از کادر پیام برای دریافت پاسخ از کاربر استفاده کرد؟

  • پاسخ:
    با استفاده از MessageBox.Show و تنظیم دکمه‌ها می‌توان پاسخ کاربر را دریافت کرد.
    مثال: csharp DialogResult result = MessageBox.Show("آیا مطمئن هستید؟", "تأیید", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { Console.WriteLine("کاربر Yes را انتخاب کرد"); }

۱۲. چگونه می‌توان یک برنامه ساده برای ورود کاربر با نام کاربری و رمز عبور نوشت؟

  • پاسخ:
    با استفاده از if می‌توان نام کاربری و رمز عبور را بررسی کرد.
    مثال: csharp string username = "admin"; string password = "1234"; if (username == textBox1.Text && password == textBox2.Text) { MessageBox.Show("ورود موفق"); } else { MessageBox.Show("نام کاربری یا رمز عبور اشتباه است"); }

۱۳. چگونه می‌توان از کنترل GroupBox برای گروه‌بندی کنترل‌ها استفاده کرد؟

  • پاسخ:
    با قرار دادن کنترل‌ها داخل GroupBox می‌توان آن‌ها را گروه‌بندی کرد.
    مثال: csharp groupBox1.Controls.Add(radioButton1); groupBox1.Controls.Add(radioButton2);

۱۴. چگونه می‌توان از دستور switch برای بررسی مقادیر مختلف یک متغیر استفاده کرد؟

  • پاسخ:
    با استفاده از switch می‌توان مقادیر مختلف یک متغیر را بررسی کرد.
    مثال: csharp int number = 2; switch (number) { case 1: Console.WriteLine("یک"); break; case 2: Console.WriteLine("دو"); break; default: Console.WriteLine("عدد نامعتبر"); break; }

۱۵. چگونه می‌توان یک برنامه ساده برای تغییر رنگ متن و زمینه با استفاده از کنترل‌های CheckBox و RadioButton نوشت؟

  • پاسخ:
    با استفاده از رویداد CheckedChanged می‌توان رنگ متن و زمینه را تغییر داد.
    مثال: csharp private void checkBox1_CheckedChanged(object sender, EventArgs e) { if (checkBox1.Checked) { textBox1.BackColor = Color.Red; } else { textBox1.BackColor = Color.White; } }