آموزش سی شارپ

مباحث پایه سی شارپ

مباحث پیشرفه سی شارپ

دستورات سی شارپ

عملگرها در سی شارپ – آموزش سی شارپ

  • شنبه ۶ مرداد ۱۳۹۷
  • بازدید ۲,۴۷۱ نفر

تصویر csharp-operators_1819 عملگرها در سی شارپ - آموزش سی شارپ

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

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

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

  • عملگرهای ریاضی
  • عملگرهای رابطه ای
  • عملگرهای منطقی
  • عملگرهای بیتی
  • عملگرهای انتساب
  • عملگرهای متفرقه

در این آموزش عملگرهای ریاضی، رابطه ای، منطقی، بیتی، انتساب و غیره یک به یک توضیح داده می شوند.

عملگرهای ریاضی

در جدول زیر عملگرهای ریاضی پشتیبانی شده در زبان C# را مشاهده می کنید. فرض کنید متغیر A مقدار 10 و متغیر B مقدار 20 در خود ذخیره کرده است.

عملگرتوضیحاتمثال
 +برای جمع دو مقدار استفاده می شود.A + B = 30
مقدار عملوند راست را از مقدار عملوند چپ کم می کند.A – B = -10
*برای ضرب دو مقدار استفاده می شود.A * B = 200
/مقدار عملوند راست را بر مقدار عملوند چپ تقسیم می کند.B / A = 2
%مقدار عملوند راست را بر مقدار عملوند چپ تقسیم می کند و باقیمانده را بر می گرداندB % A = 0
++یک واحد به مقدار قبلی اضافه می کند.A++ = 11
یک واحد از مقدار قبلی کم می کند.A– = 9

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

عملگرهای رابطه ای

در جدول زیر عملگرهای رابطه ای پشتیبانی شده در زبان C# را مشاهده می کنید. فرض کنید متغیر A مقدار 10 و متغیر B مقدار 20 در خود ذخیره کرده است.

عملگرتوضیحاتمثال
==اگر مقادیر دو عملوند با هم برابر باشد، شرط درست است.(A == B) is not true

!=

اگر مقادیر دو عملوند با هم برابر نباشد، شرط درست است.(A != B) is true
>اگر مقدار عملوند سمت چپ از مقدار عملوند سمت راست بزرگتر باشد، شرط درست است.(A > B) is not true
<اگر مقدار عملوند سمت چپ از مقدار عملوند سمت راست کوچکتر باشد، شرط درست است.(A < B) is true

>=

اگر مقدار عملوند سمت چپ بزرگتر یا مساوی مقدار عملوند سمت راست باشد، شرط درست است.(A >= B) is not true

<=

اگر مقدار عملوند سمت چپ کمتر یا مساوی مقدار عملوند سمت راست باشد، شرط درست است.

(A <= B) is true

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

عملگرهای منطقی

در جدول زیر عملگرهای منطقی پشتیبانی شده در زبان C# را مشاهده می کنید. فرض کنید متغیر A مقدار true و متغیر B مقدار false در خود ذخیره کرده است.

عملگرتوضیحاتمثال
&&عملگر AND (و منطقی)

اگر هر دو عملوند true باشند نتیجه شرط نیز true خواهد بود.

(A && B) is false
||عملگر OR (یا منطقی)

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

(A || B) is true
!عملگر NOT (نقیض منطقی)

وضعیت منطقی عملوند را برعکس می کند (یعنی اگر true باشد، آن را false می کند و بلعکس).

!(A && B) is true

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

عملگرهای بیتی

از عملگرهای بیتی برای دستکاری بیت ها استفاده می شود. در زیر جدول درستی را برای عملگر های &، | و ^ مشاهده می کنید.

pqp & qp | qp ^ q
00000
01011
11110
10011

فرض کنید A = 60 و B = 13 باشد، آنگاه فرمت باینری آن ها به صورت زیر خواهد بود:

در جدول زیر عملگرهای بیتی پشتیبانی شده در زبان C# را مشاهده می کنید. فرض کنید متغیر A مقدار 60 و متغیر B مقدار 13 در خود ذخیره کرده است.

عملگرتوضیحاتمثال
&اگر هر دو عملوند true باشند، یک بیت در نتیجه کپی می کند.(A & B) = 12 که برابر است با 0000 1100
|اگر یکی از عملوندها true باشند، یک بیت در نتیجه کپی می کند.(A | B) = 61 که برابر است با 0011 1101
^اگر مقدار هر دو عملوند یکسان نباشد (یعنی هر دو true یا هر دو false نباشند)، یک بیت در نتیجه کپی می کند. (A ^ B) = 41که برابر است با 0011 0001
~عملگر یکانی نقیض می باشد و کارش این است که هر جا 1 بود 0 و هر جا 0 بود 1 می گذارد.(~A ) = 61 که برابر است با 1100 0011
>>مقدار عملوند چپ را به مقدار بیت های تعیین شده در عملوند راست، به چپ شیفت می دهد.A << 2 = 240 که برابر است با 1111 0000

>>

مقدار عملوند چپ را به مقدار بیت های تعیین شده در عملوند راست، به راست شیفت می دهد.A >> 2 = 15 که برابر است با 0000 1111

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

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

در جدول زیر عملگرهای انتساب پشتیبانی شده در زبان C# را مشاهده می کنید.

عملگرتوضیحاتمثال
=مقدار عملوند سمت راست را در عملوند سمت چپ قرار می دهد.C = A + B نتیجه جمع دو متغیر A و B را در متغیر C قرار می دهد.

+=

مقدار عملوند سمت راست را با مقدار عملوند سمت چپ جمع کرده و نتیجه را در عملوند سمت چپ قرار می دهد.C += A معادل C = C + A

-=

مقدار عملوند سمت راست را با مقدار عملوند سمت چپ کم کرده و نتیجه را در عملوند سمت چپ قرار می دهد.C -= A معادل C = C – A

*=

مقدار عملوند سمت راست را با مقدار عملوند سمت چپ ضرب کرده و نتیجه را در عملوند سمت چپ قرار می دهد.C *= A معادل C = C * A

/=

مقدار عملوند سمت چپ را بر مقدار عملوند سمت راست تقسیم کرده و نتیجه را در عملوند سمت چپ قرار می دهد.C /= A معادل C = C / A

%=

مقدار دو عملوند را بر هم تقسیم کرده و باقیمانده را در عملوند سمت چپ قرار می دهد.C %= A معادل C = C % A

<<=

عملگر انتساب شیفت به چپC <<= 2 معادل C = C << 2

>>=

عملگر انتساب شیفت به راستC >>= 2 معادل C = C >> 2

&=

عملگر AND بیتیC &= 2 معادل C = C & 2

^=

عملگر انتساب exclusive OR بیتیC ^= 2 معادل C = C ^ 2

|=

عملگر انتساب inclusive OR بیتیC |= 2 معادل C = C | 2

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

عملگرهای متفرقه

در جدول زیر سایر عملگرهای مهمی که در زبان C# پشتیبانی می شوند را مشاهده می کنید.

عملگرتوضیحاتمثال
sizeof()اندازه نوع داده را برمی گرداند.sizeof(int) مقدار 4 برمی گرداند.
typeof()نوع یک کلاس را برمی گرداند.typeof(StreamReader)
&آدرس یک متغیر را برمی گرداند.&a  آدرس واقعی یک متغیر را برمی گرداند.
*اشاره به یک متغیر.*a  یک اشاره گر به نام ‘a’ به متغیر a ایجاد می کند.
? :عبارت شرطی.اگر شرط درست باشد ؟ مقدار X : در غیر این صورت Y
isمشخص می کند که یک شیء از یک نوع خاص است یا خیر.If( Ford is Car) // checks if Ford is an object of the Car class
asعملیات Cast را بدون نمایش Exception انجام می دهد.

Object obj = new StringReader(“Hello”);

StringReader r = obj as StringReader;

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

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

در جدول زیر تقدم عملگرهای موجود در زبان C# را مشاهده می کنید.

دسته بندیعملگرهاترتیب
پسوندی() [] -> . ++ – –از چپ به راست
یگانی+ – ! ~ ++ – – (type)* & sizeofاز راست به چپ
ضربی* / %از چپ به راست
افزودنی+ –از چپ به راست
شیفت<< >>از چپ به راست
رابطه ای< <= > >=از چپ به راست
برابری== !=از چپ به راست
AND بیتی&از چپ به راست
XOR بیتی^از چپ به راست
OR بیتی|از چپ به راست
AND منطقی&&از چپ به راست
OR منطقی||از چپ به راست
شرطی?:از راست به چپ
انتسابی= += -= *= /= %=>>= <<= &= ^= |=از راست به چپ
کاما,از چپ به راست

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

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است