تقدم عملگرها در سی شارپ
وقتی که یک عبارت ارزیابی می شود، هر عملگر به ترتیب پردازش می شود اما این لزوماً به این معنی نیست که ارزیابی این عملگرها از چپ به راست انجام می شود. بعنوان یک مثال ساده، کد زیر را در نظر بگیرید:
var1 = var2 + var3;
در اینجا، عملگر + قبل از عملگر = عمل می کند. موقعیت هایی نیز وجود دارد که تقدم عملگرها خیلی واضح نیست. مانند زیر:
var1 = var2 + var3 * var4;
در مثال بالا، ابتدا عملگر * انجام می شود و سپس عملگر + اجرا می شود و در نهایت عملگر = انجام می شود. این ترتیب یک استاندارد در ریاضی است و همان نتیجه ای را دارد که در محاسبه ی جبری روی کاغذ انجام می شود. به طور مشابه، ما می توانیم با استفاده از پرانتزها تقدم عملگرها را کنترل کنیم؛ مانند مثال زیر:
var1 = (var2 + var3) * var4;
در اینجا، محتوای درون پرانتز، ابتدا ارزیابی می شود، یعنی اینکه عملگر + قبل از عملگر * انجام می شود. جدول 3.10 ترتیب تقدم ها را برای عملگرهایی که ما قبلاً با آنها مواجه شده ایم نشان می دهد. عملگرهایی که تقدم یکسانی دارند(مانند * و /) از سمت چپ به راست ارزیابی می شوند.
(جدول 3.10 : تقدم عملگرها)

نکته: همان طور که توضیح داده شد، ما می توانیم با استفاده از پرانتزها ترتیب تقدم ها را به هم بزنیم. علاوه بر این، توجه کنید که طبق جدول 3.10، وقتی عملگرهای ++ و -- بعنوان پسوند(postfix) مورد استفاده قرار گیرند، از لحاظ مفهومی کمترین اولویت را دارند. آنها بر روی نتیجه ی مثلاً یک عبارت انتساب عمل نمی کنند، بنابراین می توانید آنها را دارای اولویت بالاتری نسبت به تمام دیگر عملگرها در نظر بگیرید. اما چونکه آنها مقدار عملوند خود را پس از ارزیابی عبارت تغییر می دهند، ساده تر است که تقدم آنها را مانند جدول 3.10 در نظر بگیریم.
کتاب آموزش سی شارپ, آموزش برنامه نویسی, آموزش سی شارپ
- بازدید: 408
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.