Microsoft .NET 10.0.7 Runtime+.NET Framework 4.8.1+All versions تمامی...
https://p30download.ir/fa/entry/32770/microsoft-dot-net-framework-redistributable-package
دانلود نرم افزار Microsoft .NET Core Runtime v8.0.8/3.1.32 - دانلود دات نت کور
https://softsara.ir/microsoft-net-core/
داتنت اسدیکی / .NET SDK
دات نت ۸ ویندوز ۶۴ بیت
Microsoft .NET SDK (Software Development Kit)
به زبان ساده یک چارچوب نرم افزاری است که توسط شرکت مایکروسافت ارائه میشود، چارچوب داتنت شامل کتابخانههای وسیع و زبانهای مختلف برنامه نویسی است که سهولت زیادی در برنامه نویسی برای توسعه دهندگان به همراه میآورد.
.NET SDK (Software Development Kit)
کاربرد: برای توسعهی نرمافزار
شامل:
کامپایلر (C#، F#، VB)
ابزارهای خط فرمان (CLI)
کتابخانههای استاندارد
.NET Runtime (برای اجرای برنامهها)
✅ نیاز به نصب؟ اگر توسعهدهنده هستید و میخواهید برنامهای با .NET بنویسید، باید .NET SDK را نصب کنید.
حجم ۲۱۲ مگابایت
بسته توسعه دات نت ۸ در داخل سروش
https://splus.ir/sisharpapp/332
نرمافزار VSCode با امکانات بینظیر خود یکی از بهترین ابزارهای توسعه کد است که افزونهها نقش کلیدی در افزایش کارایی آن ایفا میکنند. برای کاربران ایرانی که با محدودیتهای اینترنتی مواجه هستند، سایت vscode.devneeds.ir یک راهحل کارآمد و مطمئن جهت دانلود رایگان و بدون مشکل افزونهها محسوب میشود.
با استفاده از این سایت نه تنها به مجموعهای کامل از افزونهها دسترسی خواهید داشت، بلکه امکان بروزرسانی آسان و بدون دردسر نیز فراهم میشود.
پس اگر به دنبال منبعی مطمئن و ایرانی برای دانلود افزونههای VSCode هستید، به vscode.devneeds.ir سر بزنید و از خدمات رایگان و کاربردی آن بهرهمند شوید.
با سپاس از سایت vscode.devneeds.ir که به عنوان یک منبع معتبر و کاربردی، به کاربران ایرانی در حل مشکلات مربوط به VSCode با توجه به شرایط دشوار عدم دسترسی به اینترنت بین الملل کمک کرده است.
این محتوا در تاریخ ۱۷ فروردین ۱۴۰۵ انتشار یافته است. امیدواریم که در زمان مطالعه این مطلب، مشکل عدم دسترسی به اینترنت بین الملل رفع شده باشد.
خیلی خوب. یک درس اول کامل و خودکفا برای شما آماده میکنم که شامل همه مفاهیم پایهای است، با توضیح کامل و تمرین در انتها.
اگر تازه یک پروژه کنسولی ساختهاید (dotnet new console)، فایل Program.cs را پاک کنید و کدهای زیر را بهترتیب بنویسید و اجرا کنید.
---
📘 درس اول: آشنایی با خروجی، ورودی و توقف برنامه
🎯 سرفصلها:
1. چاپ متن در خروجی (WriteLine و Write)
2. تفاوت WriteLine و Write
3. گرفتن ورودی از کاربر (ReadLine)
4. گرفتن یک کلید از کاربر (ReadKey)
5. جلوگیری از بسته شدن پنجره
---
⏱️ قسمت 1: چاپ متن در خروجی
csharp
Console.WriteLine("Hello World");
Console.WriteLine("Welcome to C#");
WriteLine یعنی: چاپ کن + برو به خط بعدی.
خروجی:
Hello World
Welcome to C#
---
⏱️ قسمت 2: تفاوت Write و WriteLine
csharp
Console.Write("A");
Console.Write("B");
Console.WriteLine("C");
Console.Write("D");
Console.WriteLine("E");
خروجی:
ABC
DE
📌 قانون:
· Write = چاپ در همان خط
· WriteLine = چاپ + رفتن به خط بعد
---
⏱️ قسمت 3: گرفتن متن از کاربر با ReadLine
csharp
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.WriteLine("Hello " + name);
📌 توضیح:
· برنامه منتظر میماند تا کاربر Enter بزند
· هر چی کاربر تایپ کند، داخل متغیر name ذخیره میشود
· string یعنی متنی
---
⏱️ قسمت 4: گرفتن یک کلید با ReadKey
csharp
Console.Write("Press any key to continue: ");
Console.ReadKey();
Console.WriteLine("Done!");
📌 تفاوت با ReadLine:
· ReadKey = منتظر هر یک کلید میماند (بدون Enter)
· ReadLine = منتظر Enter میماند
---
⏱️ قسمت 5: جلوگیری از بسته شدن پنجره
اگر روی فایل exe دوبار کلیک کنید، برنامه تمام میشود و صفحه میپرد.
برای جلوگیری:
csharp
Console.WriteLine("End of program.");
Console.WriteLine("Press Enter to exit...");
Console.ReadLine();
یا با ReadKey:
csharp
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
---
✅ تمرین نهایی درس اول
برنامه زیر را بدون کپی کردن، خط به خط بنویسید و اجرا کنید:
csharp
// برنامه معرفی شخص
Console.WriteLine("=== Personal Info Program ===");
Console.Write("Enter your first name: ");
string firstName = Console.ReadLine();
Console.Write("Enter your last name: ");
string lastName = Console.ReadLine();
Console.Write("Enter your age: ");
string age = Console.ReadLine();
Console.WriteLine("\n=== Your Info ===");
Console.Write("Name: ");
Console.Write(firstName);
Console.Write(" ");
Console.WriteLine(lastName);
Console.WriteLine("Age: " + age);
Console.WriteLine("\nPress any key to exit...");
Console.ReadKey();
🧪 بعد از اجرا، این کارها را بکنید:
1. برنامه را تغییر دهید بهطوری که به جای ReadKey از ReadLine استفاده کند
2. یک خط Console.WriteLine("Goodbye!") قبل از خروج اضافه کنید
3. جمله خوشآمدگویی را با چند Write و یک WriteLine درست کنید
---
📌 جمعبندی درس اول
دستور کاربرد
Console.WriteLine("text") چاپ متن + رفتن به خط بعد
Console.Write("text") چاپ متن در همان خط
Console.ReadLine() گرفتن متن تا زدن Enter
Console.ReadKey() گرفتن یک کلید بدون Enter
// text توضیح (کامنت) - اجرا نمیشود
---
اگر تمرین را انجام دادید و جواب گرفتید، بگویید تا درس دوم (متغیرها و اعداد) را شروع کنیم. هر جای درس اول سوال داشتید، بپرسید.
📘 درس دوم – متغیرها، انواع داده و تبدیلات (نسخه کامل)
🎯 سرفصلها:
1. انواع داده اصلی (int, double, decimal, string, bool, char)
2. تفاوت decimal و double
3. تعریف متغیر و مقداردهی
4. تبدیل انواع: int.Parse و ToString
5. کار با DateTime
6. تمرین جامع
---
⏱️ قسمت 1: انواع داده (6 نوع مهم)
نوع معنی مثال توضیح
int عدد صحیح int x = 10; بدون اعشار
double عدد اعشاری (15 رقم دقت) double pi = 3.1415926535; برای محاسبات علمی
decimal عدد اعشاری دقیق (28 رقم دقت) decimal price = 99.99m; برای پول و قیمت
string متن string s = "Hi"; داخل کوتیشن
bool درست/نادرست bool isOk = true; true یا false
char یک کاراکتر char c = 'A'; داخل 'تکی'
---
⭐ تفاوت مهم decimal و double
csharp
double d = 0.1 + 0.2;
decimal m = 0.1m + 0.2m;
Console.WriteLine("double: " + d); // 0.30000000000000004 (تقریبی!)
Console.WriteLine("decimal: " + m); // 0.3 (دقیق!)
📌 قاعده طلایی:
· پول، قیمت، موجودی حساب → از decimal استفاده کنید
· محاسبات علمی، مختصات → از double استفاده کنید
📌 نکته: برای decimal حتماً بعد عدد m بگذارید (مثل 10.5m)
---
⏱️ قسمت 2: تعریف متغیر و مقداردهی
csharp
int age = 25;
double height = 1.75;
decimal salary = 4500000.50m;
string name = "Mohammad";
bool isMarried = false;
char grade = 'A';
Console.WriteLine("Name: " + name);
Console.WriteLine("Age: " + age);
Console.WriteLine("Height: " + height);
Console.WriteLine("Salary: " + salary);
Console.WriteLine("Married: " + isMarried);
Console.WriteLine("Grade: " + grade);
---
⏱️ قسمت 3: تبدیل انواع (خیلی مهم)
روش اول: int.Parse() – تبدیل متن به عدد صحیح
csharp
string input = "100";
int number = int.Parse(input); // تبدیل "100" به 100
Console.WriteLine(number + 5); // نتیجه: 105
روش دوم: Convert.ToInt32() – همان کار را میکند
csharp
string ageText = "30";
int age = Convert.ToInt32(ageText);
📌 فرق آنها:
· int.Parse() فقط برای متن استفاده میشود
· Convert.ToInt32() عدد هم قبول میکند (Convert.ToInt32(3.7) → 4)
تبدیل متن به decimal:
csharp
string priceText = "12500.99";
decimal price = decimal.Parse(priceText);
Console.WriteLine(price);
---
⏱️ قسمت 4: ToString() – تبدیل هر چیزی به متن
csharp
int age = 25;
string ageText = age.ToString(); // "25"
decimal money = 1250000.5m;
string moneyText = money.ToString(); // "1250000.5"
double pi = 3.14;
string piText = pi.ToString(); // "3.14"
Console.WriteLine("Age as text: " + ageText);
استفاده از فرمت در ToString:
csharp
decimal salary = 12500000.75m;
Console.WriteLine(salary.ToString("N0")); // 12,500,001
Console.WriteLine(salary.ToString("C")); // $12,500,000.75 (پول)
Console.WriteLine(salary.ToString("F2")); // 12500000.75 (2 رقم اعشار)
---
⏱️ قسمت 5: مثال عملی – گرفتن ورودی از کاربر با Parse
csharp
Console.Write("Enter your age: ");
string ageInput = Console.ReadLine();
int age = int.Parse(ageInput); // تبدیل متن به عدد
Console.Write("Enter your salary: ");
string salaryInput = Console.ReadLine();
decimal salary = decimal.Parse(salaryInput); // تبدیل به decimal
Console.Write("Enter your height: ");
string heightInput = Console.ReadLine();
double height = double.Parse(heightInput); // تبدیل به double
Console.WriteLine($"Age: {age}, Salary: {salary:C}, Height: {height}");
📌 نکته: اگر کاربر به جای عدد حرف بزند، برنامه خطا میدهد. بعداً یاد میگیریم چطور از خطا جلوگیری کنیم.
---
⏱️ قسمت 6: DateTime – تاریخ و زمان
csharp
DateTime now = DateTime.Now;
Console.WriteLine("Full date: " + now);
Console.WriteLine("Year: " + now.Year);
Console.WriteLine("Month: " + now.Month);
Console.WriteLine("Day: " + now.Day);
Console.WriteLine("Day of week: " + now.DayOfWeek);
// تبدیل DateTime به متن با فرمتهای مختلف
Console.WriteLine(now.ToString("yyyy-MM-dd")); // 2026-05-19
Console.WriteLine(now.ToString("dd/MM/yyyy")); // 19/05/2026
Console.WriteLine(now.ToString("HH:mm:ss")); // 14:25:30
// تبدیل متن به DateTime
string dateText = "2025-12-25";
DateTime christmas = DateTime.Parse(dateText);
Console.WriteLine(christmas.ToString("dddd")); // Thursday
---
✅ تمرین نهایی درس دوم (جامع)
برنامهای بنویسید که:
1. اسم کاربر را بگیرد (string)
2. حقوق ماهانه را بگیرد (decimal)
3. سن را بگیرد (int)
4. سال تولد را محاسبه کند (سال جاری - سن)
5. بگوید حقوق سالانه چقدر است (حقوق ماهانه × 12)
6. تاریخ امروز را با فرمت 1405/02/29 (شمسی تقریبی) نشان دهد
csharp
using System.Text;
Console.OutputEncoding = Encoding.UTF8;
Console.Write("Enter your name: ");
string name = Console.ReadLine();
Console.Write("Enter your monthly salary: ");
string salaryInput = Console.ReadLine();
decimal monthlySalary = decimal.Parse(salaryInput);
Console.Write("Enter your age: ");
string ageInput = Console.ReadLine();
int age = int.Parse(ageInput);
int currentYear = DateTime.Now.Year;
int birthYear = currentYear - age;
decimal yearlySalary = monthlySalary * 12;
Console.WriteLine("\n=== Your Info ===");
Console.WriteLine("Name: " + name);
Console.WriteLine("Age: " + age);
Console.WriteLine("Birth year: " + birthYear);
Console.WriteLine("Monthly salary: " + monthlySalary.ToString("N0") + " Tomans");
Console.WriteLine("Yearly salary: " + yearlySalary.ToString("N0") + " Tomans");
Console.WriteLine("Today: " + DateTime.Now.ToString("yyyy/MM/dd"));
Console.WriteLine("\nPress Enter to exit...");
Console.ReadLine();
---
📌 جمعبندی درس دوم
مفهوم مثال
عدد صحیح int x = 5;
عدد اعشاری معمولی double d = 3.14;
عدد اعشاری دقیق (پول) decimal m = 99.99m;
متن string s = "hi";
تبدیل متن به int int.Parse("10")
تبدیل متن به decimal decimal.Parse("10.5")
تبدیل هر چیزی به متن variable.ToString()
تاریخ و زمان DateTime.Now
---
اگر این درس را کامل فهمیدید، بگویید تا درس سوم (شرط if-else) را شروع کنیم. سوالی بود بپرسید.
خیلی خوب، رسیدیم به درس سوم: دستورات شرطی (if, else if, else) و Switch Case.
یک پروژه جدید بسازید (dotnet new console) و کدها را همراه من بنویسید و اجرا کنید.
---
📘 درس سوم – شرطها و تصمیمگیری در برنامه
🎯 سرفصلها:
1. شرط if (اگر)
2. شرط if-else (اگر-وگرنه)
3. شرط else if (چند شرط)
4. عملگرهای مقایسه و منطقی
5. دستور switch-case
6. تمرین جامع
---
⏱️ قسمت 1: عملگرهای مقایسه (مهم)
قبل از شرطها، باید عملگرهای مقایسه را بلد باشید:
عملگر معنی مثال درست
== مساوی 5 == 5 ✅
!= نامساوی 5 != 3 ✅
> بزرگتر 10 > 5 ✅
< کوچکتر 3 < 8 ✅
>= بزرگتر یا مساوی 5 >= 5 ✅
<= کوچکتر یا مساوی 4 <= 5 ✅
---
⏱️ قسمت 2: شرط if (اگر)
csharp
int age = 18;
if (age >= 18)
{
Console.WriteLine("You are an adult");
Console.WriteLine("You can vote");
}
📌 نکات:
· شرط داخل () نوشته میشود
· اگر شرط درست بود، کد داخل {} اجرا میشود
· اگر فقط یک خط دارید، میتوانید {} را حذف کنید (ولی بهتر نگذارید)
---
⏱️ قسمت 3: شرط if-else (اگر-وگرنه)
csharp
int age = 15;
if (age >= 18)
{
Console.WriteLine("You are an adult");
}
else
{
Console.WriteLine("You are a minor");
}
خروجی: You are a minor
📌 منطق: اگر شرط if درست بود، if اجرا میشود و else نادیده گرفته میشود. اگر if غلط بود، else اجرا میشود.
---
⏱️ قسمت 4: شرط else if (چند شرط)
csharp
int score = 85;
if (score >= 90)
{
Console.WriteLine("Grade: A");
}
else if (score >= 80)
{
Console.WriteLine("Grade: B");
}
else if (score >= 70)
{
Console.WriteLine("Grade: C");
}
else if (score >= 60)
{
Console.WriteLine("Grade: D");
}
else
{
Console.WriteLine("Grade: F");
}
خروجی: Grade: B
📌 نکته: شرطها از بالا به پایین بررسی میشوند. به محض اینکه یکی درست شد، بقیه نادیده گرفته میشوند.
---
⏱️ قسمت 5: عملگرهای منطقی (و، یا، نه)
عملگر معنی مثال
&& و (هر دو شرط باید درست باشد) age > 18 && hasLicense == true
! نه (برعکس میکند) !isRaining مثال: csharp int age = 20; bool hasLicense = true; if (age >= 18 && hasLicense == true) { Console.WriteLine("You can drive"); } else { Console.WriteLine("You cannot drive"); } csharp string day = "Friday"; if (day == "Friday" || day == "Thursday") { Console.WriteLine("It's weekend in Iran!"); } --- ⏱️ قسمت 6: Switch Case (انتخابگر) وقتی یک متغیر را با چند مقدار مختلف مقایسه میکنیم، switch خواناتر از if-else است. ساختار کلی: csharp switch (متغیر) { case مقدار1: // کد break; case مقدار2: // کد break; default: // اگر هیچکدام نبود break; } مثال واقعی: csharp Console.Write("Enter day number (1-7): "); int dayNumber = int.Parse(Console.ReadLine()); switch (dayNumber) { case 1: Console.WriteLine("Saturday"); break; case 2: Console.WriteLine("Sunday"); break; case 3: Console.WriteLine("Monday"); break; case 4: Console.WriteLine("Tuesday"); break; case 5: Console.WriteLine("Wednesday"); break; case 6: Console.WriteLine("Thursday"); break; case 7: Console.WriteLine("Friday"); break; default: Console.WriteLine("Invalid day number!"); break; } مثال با string: csharp Console.Write("Enter your favorite color: "); string color = Console.ReadLine(); switch (color.ToLower()) // ToLower: همه را کوچک میکند { case "red": Console.WriteLine("You chose passion"); break; case "blue": Console.WriteLine("You chose calm"); break; case "green": Console.WriteLine("You chose nature"); break; default: Console.WriteLine("Nice color!"); break; } 📌 نکات switch: · هر case باید با break تمام شود · default اختیاری است (مثل else) · میتوان چند case را بدون break پشت سر هم نوشت (fall-through) چند مقدار در یک case:
`csharp char grade = 'B';
switch (grade)
{
case 'A':
case 'B':
case 'C':
Console.WriteLine("You passed!");
break;
case 'D':
case 'F':
Console.WriteLine("You failed!");
break;
default:
Console.WriteLine("Invalid grade");
break;
}
---
✅ تمرین نهایی درس سوم
برنامهای بنویسید که:
1. از کاربر یک عدد بین 1 تا 12 بگیرد (ماه میلادی)
2. با switch نام ماه را چاپ کند
3. تعداد روزهای آن ماه را با if-else تعیین کند
4. بگوید فصل آن ماه چیست (بهار، تابستان، پاییز، زمستان)
csharp
Console.Write("Enter month number (1-12): ");
int month = int.Parse(Console.ReadLine());
// قسمت 1: نام ماه با switch
string monthName;
switch (month)
{
case 1: monthName = "January"; break;
case 2: monthName = "February"; break;
case 3: monthName = "March"; break;
case 4: monthName = "April"; break;
case 5: monthName = "May"; break;
case 6: monthName = "June"; break;
case 7: monthName = "July"; break;
case 8: monthName = "August"; break;
case 9: monthName = "September"; break;
case 10: monthName = "October"; break;
case 11: monthName = "November"; break;
case 12: monthName = "December"; break;
default: monthName = "Invalid"; break;
}
// قسمت 2: تعداد روزها با if-else
int days;
if (month == 2)
{
days = 28; // کبیسه را فعلاً نادیده میگیریم
}
else if (month == 4 || month == 6 || month == 9 || month == 11)
{
days = 30;
}
else
{
days = 31;
}
// قسمت 3: تشخیص فصل
string season;
if (month >= 3 && month <= 5)
{
season = "Spring";
}
else if (month >= 6 && month <= 8)
{
season = "Summer";
}
else if (month >= 9 && month <= 11)
{
season = "Autumn";
}
else
{
season = "Winter";
}
Console.WriteLine($"Month: {monthName}");
Console.WriteLine($"Days: {days}");
Console.WriteLine($"Season: {season}");
Console.WriteLine("Press Enter to exit...");
Console.ReadLine();
`--- 📌 جمعبندی درس سوم مفهوم مثال if ساده if (x > 5) { ... } if-else if (x > 5) { ... } else { ... } else if if (x > 90) { ... } else if (x > 80) { ... } switch switch(day) { case 1: ... break; } عملگرهای مقایسه ==, !=, >, <, >=, <= عملگرهای منطقی && (و), ` --- 🧪 تمرین کوچک برای شما برنامهای بنویسید که یک عدد از کاربر بگیرد و بگوید: · عدد مثبت است، منفی است یا صفر · زوج است یا فرد (از عملگر % استفاده کنید: number % 2 == 0) اگر انجام دادید و جواب گرفتید، بگویید تا درس چهارم (حلقهها) را شروع کنیم. سوالی بود بپرسید.
خیلی خوب، رسیدیم به درس چهارم: انواع عملگرها در سیشارپ.
این درس مکمل درس سوم است. عملگرها همان ابزارهایی هستند که با متغیرها کار میکنند (محاسبه، مقایسه، شرط و...).
یک پروژه جدید بسازید و کدها را اجرا کنید.
---
📘 درس چهارم – انواع عملگرها (Operators)
🎯 سرفصلها:
1. عملگرهای حسابی (ریاضی)
2. عملگرهای افزایش و کاهش (++ و --)
3. عملگرهای مقایسهای
4. عملگرهای منطقی
5. عملگرهای شرطی (ternary - ? :)
6. عملگرهای انتساب ترکیبی (+=, -=, *=, /=)
7. اولویت عملگرها
---
⏱️ قسمت 1: عملگرهای حسابی (Arithmetic)
عملگر معنی مثال نتیجه
+ جمع 5 + 3 8
- تفریق 5 - 3 2
* ضرب 5 * 3 15
/ تقسیم 5 / 2 2 (با int)
% باقیمانده 5 % 2 1
csharp
int a = 17;
int b = 5;
Console.WriteLine(a + b); // 22
Console.WriteLine(a - b); // 12
Console.WriteLine(a * b); // 85
Console.WriteLine(a / b); // 3 (چون int است)
Console.WriteLine(a % b); // 2 (باقیمانده 17 تقسیم بر 5)
تقسیم اعشاری دقیق:
csharp
double x = 17;
double y = 5;
Console.WriteLine(x / y); // 3.4
---
⏱️ قسمت 2: عملگرهای افزایش و کاهش (Increment & Decrement)
عملگر معنی مثال معادل
++ افزایش یک واحد x++ یا ++x x = x + 1
-- کاهش یک واحد x-- یا --x x = x - 1
تفاوت پیشوند و پسوند (مهم):
csharp
int x = 5;
Console.WriteLine(x++); // اول چاپ میکند (5)، بعد زیاد میکند
Console.WriteLine(x); // حالا شده 6
int y = 5;
Console.WriteLine(++y); // اول زیاد میکند (6)، بعد چاپ میکند
📌 نکته:
· x++ = بعد از استفاده، زیاد کن
· ++x = اول زیاد کن، بعد استفاده کن
csharp
int counter = 0;
counter++; // یک واحد زیاد شد
counter--; // یک واحد کم شد
---
⏱️ قسمت 3: عملگرهای مقایسهای (Comparison)
نتیجه این عملگرها همیشه bool است (true یا false).
عملگر معنی
== مساوی
!= نامساوی
> بزرگتر
< کوچکتر
>= بزرگتر یا مساوی
<= کوچکتر یا مساوی
csharp
int age = 20;
Console.WriteLine(age == 18); // False
Console.WriteLine(age != 18); // True
Console.WriteLine(age > 18); // True
Console.WriteLine(age < 18); // False
Console.WriteLine(age >= 20); // True
Console.WriteLine(age <= 20); // True
---
⏱️ قسمت 4: عملگرهای منطقی (Logical)
برای ترکیب چند شرط استفاده میشوند.
عملگر معنی توضیح
&& AND (و) هر دو طرف درست باشند → true
! NOT (نقیض) true را false و false را true میکند جدول درستی: | A | B | A && B | A || B | !A | |---|---|--------|----------|----| | true | true | true | true | false | | true | false | false | true | false | | false | true | false | true | true | | false | false | false | false | true | مثال عملی: csharp int score = 85; bool hasHomework = true; // هر دو شرط باید درست باشد if (score >= 70 && hasHomework == true) { Console.WriteLine("Passed"); } // حداقل یکی درست باشد if (score >= 90 || hasHomework == true) { Console.WriteLine("Good or did homework"); } // برعکس کردن bool isRaining = false; if (!isRaining) { Console.WriteLine("Go outside"); } --- ⏱️ قسمت 5: عملگر شرطی (Ternary) - ? : یک if-else کوتاه و یک خطی. ساختار: csharp شرط ? مقدار_اگر_درست : مقدار_اگر_غلط مثال: csharp int age = 20; string result = (age >= 18) ? "Adult" : "Minor"; Console.WriteLine(result); // Adult مقایسه با if-else عادی: csharp // روش عادی (if-else) int score = 75; string grade; if (score >= 60) { grade = "Pass"; } else { grade = "Fail"; } // روش Ternary string grade2 = (score >= 60) ? "Pass" : "Fail"; مثال دیگر: csharp int number = 7; string evenOdd = (number % 2 == 0) ? "Even" : "Odd"; Console.WriteLine(evenOdd); // Odd --- ⏱️ قسمت 6: عملگرهای انتساب ترکیبی (Compound Assignment) این عملگرها کار با متغیر را کوتاهتر میکنند. عملگر معنی معادل += جمع و نسبت x = x + 5 -= تفریق و نسبت x = x - 5 *= ضرب و نسبت x = x * 5 /= تقسیم و نسبت x = x / 5 %= باقیمانده و نسبت x = x % 5 csharp int x = 10; x += 5; // x = 15 x -= 3; // x = 12 x *= 2; // x = 24 x /= 4; // x = 6 x %= 5; // x = 1 Console.WriteLine(x); // 1 --- ⏱️ قسمت 7: اولویت عملگرها (Precedence) ترتیب محاسبه در ریاضیات: 1. () پرانتز (بالاترین اولویت) 2. ++ -- (پیشوند) 3. * / % 4. + - 5. < > <= >= 6. == != 7. && 8. || (پایینترین اولویت) مثال:
csharp
int result = 5 + 3 * 2; // 11 (اول ضرب: 3*2=6، بعد جمع)
int result2 = (5 + 3) * 2; // 16 (اول پرانتز: 5+3=8، بعد ضرب)
bool r = 5 > 3 && 2 < 4; // true (اول مقایسهها، بعد &&)
---
✅ تمرین نهایی درس چهارم
برنامهای بنویسید که:
1. دو عدد از کاربر بگیرد
2. تمام عملگرهای حسابی را روی آنها انجام دهد (جمع، تفریق، ضرب، تقسیم، باقیمانده)
3. بگوید آیا مجموع آنها زوج است یا فرد (با ternary)
4. یک شمارنده داشته باشد که هر بار عدد اول را ۱ واحد افزایش دهد
csharp
Console.Write("Enter first number: ");
int num1 = int.Parse(Console.ReadLine());
Console.Write("Enter second number: ");
int num2 = int.Parse(Console.ReadLine());
// عملگرهای حسابی
Console.WriteLine($"\n{num1} + {num2} = {num1 + num2}");
Console.WriteLine($"{num1} - {num2} = {num1 - num2}");
Console.WriteLine($"{num1} * {num2} = {num1 * num2}");
Console.WriteLine($"{num1} / {num2} = {num1 / num2} (integer division)");
Console.WriteLine($"{num1} % {num2} = {num1 % num2} (remainder)");
// عملگر ternary برای زوج یا فرد بودن مجموع
int sum = num1 + num2;
string parity = (sum % 2 == 0) ? "Even" : "Odd";
Console.WriteLine($"Sum ({sum}) is {parity}");
// عملگرهای افزایش و انتساب ترکیبی
int counter = num1;
Console.WriteLine($"\nCounter starts at: {counter}");
Console.WriteLine($"Counter++ (post): {counter++}"); // اول چاپ، بعد زیاد
Console.WriteLine($"After post-increment: {counter}");
Console.WriteLine($"++Counter (pre): {++counter}"); // اول زیاد، بعد چاپ
counter += 10;
Console.WriteLine($"After += 10: {counter}");
Console.WriteLine("\nPress Enter to exit...");
Console.ReadLine();
---
📌 جمعبندی درس چهارم
دسته عملگرها
حسابی +, -, *, /, %
افزایش/کاهش ++, --
مقایسهای ==, !=, >, <, >=, <=
منطقی &&,
شرطی (ternary) ? : انتساب ترکیبی +=, -=, *=, /=, %= --- 🧪 تمرین برای شما بدون اجرا، بگویید خروجی این کد چیست؟ ``csharp int a = 10; int b = 3; bool c = (a++ > 10) && (b-- < 5); Console.WriteLine($"a={a}, b={b}, c={c}");
`(جواب: a=11, b=2, c=False زیرا a++ > 10 ابتدا a=10 را مقایسه میکند که false است، پس عملگر && بقیه را چک نمیکند و b-- اجرا نمیشود) --- اگر این درس را کامل فهمیدید، بگویید تا درس پنجم (حلقهها) را شروع کنیم. سوالی بود بپرسید.