عملگرها در C#
عملگرها در C#
بخشی از آموزش جامع C# و .NET 10
محتوای درس عملگرها در C#
عملگرها ابزار اصلی ساخت Expressionها هستند. شناخت اولویت، نوع نتیجه و رفتار عملگرهای حسابی، مقایسهای، منطقی و null باعث میشود منطق برنامه دقیق و خوانا باقی بماند.
۱. عملگرهای حسابی
عملگرهای +، -، *، / و % برای محاسبات پایه استفاده میشوند. نوع Operandها روی نوع نتیجه و رفتار تقسیم اثر دارد.
مثال
int a=7,b=2;
Console.WriteLine(a+b);
Console.WriteLine((double)a/b);
Console.WriteLine(a%b);در این مثال، مفهوم «عملگرهای حسابی» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نامها عمداً ساده انتخاب شدهاند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب میشود.
۲. مقایسهای
==، !=، >، <، >= و <= نتیجه bool تولید میکنند و پایه شرطها هستند.
مثال
int score=80;
bool passed=score>=60;
Console.WriteLine(passed);در این مثال، مفهوم «مقایسهای» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نامها عمداً ساده انتخاب شدهاند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب میشود.
۳. منطقی
&& و || از Short-circuit Evaluation استفاده میکنند و ممکن است Operand دوم را اجرا نکنند. ! مقدار منطقی را معکوس میکند.
مثال
bool loggedIn=true, admin=false;
if (loggedIn && !admin) Console.WriteLine("User");در این مثال، مفهوم «منطقی» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نامها عمداً ساده انتخاب شدهاند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب میشود.
۴. انتساب
= مقدار را تخصیص میدهد و شکلهای ترکیبی مانند += و -= عملیات و انتساب را در یک دستور ترکیب میکنند.
مثال
int stock=10;
stock-=2;
stock++;
Console.WriteLine(stock);در این مثال، مفهوم «انتساب» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نامها عمداً ساده انتخاب شدهاند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب میشود.
۵. Ternary و Null operators
?: برای انتخاب کوتاه میان دو مقدار، ?? برای مقدار جایگزین null و ?. برای دسترسی امن به عضو Nullable استفاده میشود.
مثال
int score=75;
string result=score>=60 ? "Passed" : "Failed";
string? title=null;
Console.WriteLine(title ?? result);در این مثال، مفهوم «Ternary و Null operators» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نامها عمداً ساده انتخاب شدهاند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب میشود.
۶. اولویت عملگرها
برای منطق پیچیده بهتر است بهجای تکیه صرف بر precedence از پرانتز برای شفافیت استفاده شود.
مثال
int result = (2 + 3) * 4;
Console.WriteLine(result);در این مثال، مفهوم «اولویت عملگرها» در یک قطعه کد مستقل نمایش داده شده است. مقدارها و نامها عمداً ساده انتخاب شدهاند تا رفتار اصلی قابل مشاهده باشد؛ در پروژه واقعی همین الگو با مدل دامنه، اعتبارسنجی و مدیریت خطای متناسب ترکیب میشود.
۷. مثالهای عملی
int a = 10;
int b = 3;
Console.WriteLine(a + b);
Console.WriteLine(a / b);
Console.WriteLine(a % b);این نمونه عملی چند مفهوم فصل را در کنار هم قرار میدهد و برای مشاهده رفتار واقعی کد قابل اجرا و تغییر است.
string? name = null;
string displayName = name ?? "Guest";
int score = 82;
string result = score >= 60 ? "Passed" : "Failed";این نمونه عملی چند مفهوم فصل را در کنار هم قرار میدهد و برای مشاهده رفتار واقعی کد قابل اجرا و تغییر است.
۸. خطاهای رایج
• فراموش کردن تفاوت تقسیم صحیح و اعشاری
• استفاده از & بهجای && بدون دلیل
• ساخت Ternaryهای تو در تو و غیرخوانا
۹. نکات اجرایی
• نامها، Typeها و Methodها را متناسب با مفهوم دامنه و بدون ابهام انتخاب کنید.
• هشدارهای کامپایلر و Nullable را بدون بررسی خاموش نکنید.
• منطق هر بخش را تا حد امکان کوچک، قابل تست و مستقل از I/O غیرضروری نگه دارید.
۱۰. تمرین عملی
برنامهای بسازید که قیمت و درصد تخفیف را دریافت کند و با عملگرهای مناسب قیمت نهایی و وضعیت تخفیف را نمایش دهد.
۱۱. جمعبندی
در این فصل، مبانی «عملگرها در C#» با تمرکز بر ساختارهای اصلی زبان، الگوهای صحیح استفاده و خطاهای رایج بررسی شد. تسلط بر این مفاهیم زمینه لازم برای اتصال موضوع به فصلهای بعدی و طراحی کدهای خواناتر، قابل نگهداری و قابل تست را فراهم میکند.