اپراتورها در سیشارپ
#csharp_for_beginners
زبان سیشارپ مجموعهای از اپراتورها دارد که روی انواع دادههای پایه مثل اعداد، مقدارهای بولی و رشتهها عمل میکنند. با استفاده از این اپراتورها میتوان عبارات مختلف ساخت و محاسبات پیچیده انجام داد. ترتیب اجرا یا همان اولویت اپراتورها مشخص میکند که در یک عبارت ترکیبی، کدام قسمت زودتر ارزیابی شود. اگر بخواهیم این ترتیب پیشفرض را تغییر دهیم، میتوانیم از پرانتز استفاده کنیم.
دستههای اصلی اپراتورها
۱. اپراتورهای حسابی: برای انجام محاسبات ریاضی مثل جمع، تفریق، ضرب، تقسیم و باقیمانده استفاده میشوند.
۲. اپراتورهای مقایسهای: برای مقایسه دو مقدار بهکار میروند، مثل بزرگتر، کوچکتر یا برابر بودن.
۳. اپراتورهای منطقی بولی: برای ترکیب و معکوس کردن مقادیر درست و نادرست (true/false) استفاده میشوند.
۴. اپراتورهای بیتبهبیت و شیفت: برای کار روی بیتهای داخلی دادههای عددی کاربرد دارند.
۵. اپراتورهای برابری: برای بررسی مساوی یا نامساوی بودن دو مقدار استفاده میشوند.
۶. اپراتورهای انتساب و ترکیبی: برای مقداردهی متغیرها یا ترکیب یک عملیات با انتساب بهکار میروند، مانند += یا -=.
۷. اپراتور شرطی سهتایی: یک عبارت شرطی است که بین دو مقدار یکی را انتخاب میکند.
۸. اپراتورهای Null: برای بررسی نال بودن و جایگزین کردن مقدار پیشفرض استفاده میشوند.
۹. اپراتورهای دسترسی به عضو، ایندکس، افزایش یا کاهش و تبدیل نوع: برای دسترسی به اعضای یک شیء، کار با آرایهها، افزایش/کاهش مقدار یا تبدیل نوع داده به نوع دیگر استفاده میشوند.
اولویت و جهت اجرای اپراتورها
اپراتورها در سیشارپ اولویتهای مختلفی دارند. اپراتورهایی با اولویت بالاتر زودتر اجرا میشوند. اگر چند اپراتور در یک سطح اولویت باشند، ترتیب اجرا توسط جهت ارجاع مشخص میشود. اکثر اپراتورهای دوتایی از چپ به راست اجرا میشوند، اما برخی مانند انتساب و اپراتور شرطی از راست به چپ اجرا میشوند.
بهعنوان مثال، عبارت a + b - c بهصورت (a + b) - c محاسبه میشود، ولی عبارت x = y = z به شکل x = (y = z) ارزیابی خواهد شد
ترتیب ارزیابی عملوندها
بهطور پیشفرض، عملوندهای یک اپراتور از چپ به راست محاسبه میشوند. با این حال، برخی اپراتورها شرطی هستند و ممکن است همه عملوندها محاسبه نشوند.
• در اپراتور && اگر عملوند سمت چپ برابر false باشد، سمت راست دیگر بررسی نمیشود.
• در اپراتور || اگر عملوند سمت چپ true باشد، سمت راست اجرا نمیشود.
• در اپراتور ?? یا ??=، اگر مقدار سمت چپ نال نباشد، سمت راست محاسبه نمیشود.
• در اپراتور شرطی سهتایی ?: فقط یکی از شاخهها اجرا میشود.
• در عملگرهای شرطی نال مانند ?. یا ?[]، اگر شیء سمت چپ نال باشد، ادامهی عبارت متوقف میشود
🔗 مطلب کامل را در این لینک میتوانید مطالعه کنید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
کانال تلگرام:
@SoftwarePhilosophy
______
Post #2340
1.32K