انواع عملگر ها در زبان برنامه نویسی سی شارپ

عملگر ها در زبان سی شارپ

تخمین مدت زمان مطالعه : 5 دقیقه
  • سطح مقاله : مقدماتی
  • نویسنده : پوریا منتخب

سلام ، امیدوارم عالی باشی . من پوریا منتخبم و تو این مقاله میخوام در مورد انواع عملگر ها در زبان برنامه نویسی سی شارپ صحبت کنم اما بهت پیشنهاد میدم قبلش حتما مقاله انواع تبدیل ها در سی شارپ    رو بخون تا گام به گام بریم جلو

تو همه زبان های برنامه نویسی برای اینکه بتونیم یک سری عملیات محاسباتی رو روی داده های مورد نظرمون انجام بدیم باید از عملگر ها استفاده کنیم اما این عملگر ها چین و به چند دسته تقسیم میشن ؟؟  ابن مقاله در قالب یه پادکست هم توسط خودم ضبط شده که اگه اهل گوش دادن به پادکستی پس این برای توعه .

  • عملگر های محاسباتی یا  Arithmetic Operators
  • عملگر های مقایسه ای یا Comparison Operators
  • عملگر های انتسابی یا  Assignment Operators
  • عملگر های منطقی یا Logical Operators
  • عملگر های بیتی یا Bitwise Operators

 

عملگر های محاسباتی یا  Arithmetic Operators :

زمانی از این عملگر ها استفاده می کنیم که در حال انجام یه سری محاسبات بر روی اعداد هستیم . این دسته بندی خودش شامل عملگر های زیره :

با فرض این که متغیر a و متغیر  b دارای مقدار عددی هستن :

  • جمع یا +     به عنوان مثال a+b
  • تفریق یا -   به عنوان مثال a-b
  • ضرب یا *   به عنوان مثال a*b
  • تقسیم یا /    به عنوان مثال a/b
  • باقیمانده یا %    به عنوان مثال a%b
  • افزاینده یا ++    به عنوان مثال a++
  • کاهنده یا --    به عنوان مثال a--

بزارین در مورد افزاینده و کاهنده یه مقدار بیشتر توضیح بدم . زمانی که از افزاینده یا Increment ++   استفاده می کنیم ساختار عملگرمون به این حالته a = a+1 :    و همینطور زمانی که از کاهنده یا  Decrement -- استفاده می کنیم ساختار عملگرمون به این حالته a = a-1 :

دو روش برای استفاده از عملگر های کاهنده و افزاینده وجود داره . میتونیم هم در حالت Postfix و هم در حالت Prefix  از اون ها استفاده بکنیم . اما چه تفاوتی با  هم دارن ؟

در روش Postfix  :

int a = 1;

int b = a++;

دراین حالت ابتدا مقدار 1 درون متغیر a  قرار می گیره و در خط بعدی ابتدا مقدار a  درون متغیر b قرار میگیره و بعدش به a  یه واحد اضافه میشه و در نهایت مقدار b برابره با 1  . شاید براتون سوال پیش بیاد چرا مقدار b برابر 2  نشد ؟ نکته Postfix همینه که مقدار افزاینده یا کاهنده بعد از قرار گیری مقدار اولیه متغیر a درون b اعمال میشه . این یه نکته خیلی ساده و مهمه که خودم تو اکثر مصاحبه های شغلی دیدم بهش اشاره شده و اگه نگاهی عمیق به این موضوع نداشته باشیم علاوه بر اینکه به درک درستی از اون نرسیدیم باعث میشه که تو مصاحبه امتیاز منفی هم دریافت کنیم .

در روش Prefix  :

 

int a = 1;

int b = ++a;

دراین حالت ابتدا مقدار 1 درون متغیر a  قرار می گیره و در خط بعدی ابتدا به متغیر a یک واحد اضافه میشه و در نهایت مقدار عددی 2 درون متغیر b قرار میگیره . نکته Prefix هم اینه که مقدار افزاینده یا کاهنده قبل از قرار گیری مقدار اولیه متغیر a درون b اعمال میشه .در نتیجه مقدار نهایی متغیر های a و b در حالت Postfix  برابره با a=2 , b=1 و در حالت Prefix  برابره با a=2 , b=2

امیدورام این نکته ساده و در عین حال بسیار مهم براتون جا افتاده باشه .

 

عملگر های مقایسه ای یا  Comparison Operators :

  • برابر است  یا ==     به عنوان مثال a==b
  • برابر نیست  یا !=     به عنوان مثال a!=b
  • بزرگتر است  یا >     به عنوان مثال a>b
  • بزرگتر مساوی است  یا >=     به عنوان مثال a>=b
  • کوچکتر است  یا <     به عنوان مثال a<b
  • کوچکترمساوی است  یا <=     به عنوان مثال a<=b

از این دسته عملگرها زمانی استفاده می کنیم که قصد مقایسه مقدار دو متغیر رو داشته باشیم

 

عملگر های انتسابی یا  Assignment Operators :

  • =     به عنوان مثال a=1
  • +=     به عنوان مثال   a+=1 که در نهایت به این عبارت تبدیل میشه a=a+1
  • -=     به عنوان مثال a=a-1
  • *=     به عنوان مثال a=a*1
  • /=     به عنوان مثال a=a/1

ممکنه براتون سوال پیش اومده باشه که تفاوت بین = و ==  چیه ؟

عملگر = برای انتساب به کار برده میشه ، چیزی که به وفور از اون تو کد نویسی مون استفاده می کنیم ینی یه مقداری رو می ریزیم داخل یه متغیر ، ثابت ، لیست یا هر چیزه دیگه اما == برای بررسی برابری دو مقدار بکار برده میشه و این دو بسیار با هم متفاوتن .

 

عملگر های منطقی یا  Logical Operators :

عملگر های منطقی در عبارت هایی استفاده میشه که خروجی درست یا نادرست دارن که اغلب در عبارت های شرطی ازشون استفاده میشه .

  • &&     به عنوان مثال a&&b  که  a و b در نهایت دارای مقدار true  یا false  هستن .
  •   ||     به عنوان مثال  a||b
  •   !     به عنوان مثال  !a

این سه مورد جای بحث زیادی داره چرا که به وفور ازشون تو کد نویسی استفاده می کنیم . به طور مثال : تو عبارت هایی که از &&  استفاده می کنیم باید دو عبارت دارای مقدار true  باشن که عبارت شرطی مون تصدیق بشه اما در عبارت هایی که از || استفاده می کنیم در صورت true  بودن فقط یکی از عبارت ها مون نتیجه عبارت شرطیمون تصدیق میشه

و در انتها عملگر های بیتی یا  Bitwise Operators :

  •   &    به عنوان مثال  a&b
  •    |     به عنوان مثال  a|b

 

این عملگر ها اغلب در برنامه نویسی سطح پایین استفاده میشه مثلا هنگام کار با Windows Api ها یا برنامه نویسی سوکت ها یا مثلا رمزنگاری ها که از حوصله این مقاله خارجه .

 

امیدوارم این مقاله برات مفید بوده باشه و اگه هر سوالی راجع به عملگر ها داری پایین همین مقاله برام پستش کن .