شروع کدنویسی
انواع داده
- داده: ورودیهایی که به کامپیوتر داده میشوند و پس از پردازش به خروجی تبدیل میشوند.
- انواع داده:
- دادههای اولیه: از پیش تعریفشده در دات نت (عددی و غیرعددی).
- دادههای تعریفشده توسط برنامهنویس: مانند آرایهها و شمارندهها.
- دستهبندی دادهها:
- دادههای مقداری: ذخیره در پشته.
- دادههای مرجع: ذخیره در هیپ.
انواع دادههای عددی
| نوع داده | محدوده | اندازه (بایت) |
|---|---|---|
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: هنگام ترک کنترل.
مثالها
- نمایش متن در دو TextBox:
csharp private void textBox1_TextChanged(object sender, EventArgs e) { textBox2.Text = textBox1.Text.ToUpper(); } - محاسبه مساحت مستطیل:
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; } }