অপারেটর হল এক ধরনের চিহ্ন বা প্রতীক যা কম্পাইলারকে সুনির্দিষ্ট কোন গানিতিক অথবা লজিক্যাল কাজ দক্ষতার সাথে সম্পাদন করার নির্দেশ দেয় । সি শার্পে অনেক গুলো পূর্বনির্মিত বা বিল্ট ইন অপারেটর রয়েছে যার মাধ্যমে নিম্নলিখিত টাইপের অপারেটর গুলো পাওয়া যায় ।
১. এরিথমেটিক অপারেটর
২. রিলেশনাল অপারেটর
৩. লজিক্যাল অপারেটর
৪. বিটওয়াইজ অপেরেটর
৫. অ্যাসাইনমেন্ট অপেরেটর
৬. মিক্স অপেরেটর
নিচে এই অপারেটর গুলো সম্পর্কে আলোচনা করা হল
১. এরিথমেটিক অপারেটরঃ গানিতিক সমাধান করার জন্য এরিথমেটিক অপারেটর ব্যবহার করা হয় । নিচে সি শার্পে ব্যবহৃত এরিথমেটিক অপারেটর গুলর ব্যবহার দেখানো হল
মনেকরি, A এবং B দুইটি ভেরিয়েবল যাদের মান পর্যায়ক্রমে 10 ও 20 ।
অপারেটর |
বর্ণনা |
উদাহারন |
+ |
দুইটা বা ততধিক ভেরিয়েবল মধ্যে যোগ করার জন্য ব্যবহার করা হয় |
A + B = 30 |
- |
প্রথম অপারেটর থেকে দ্বিতীয় অপারেটর বিয়োগ করার জন্য ব্যবহার করা হয় |
A - B = -10 |
* |
দুইটা বা ততধিক ভেরিয়েবল মধ্যে গুন করার জন্য ব্যবহার করা হয় |
A * B = 200 |
/ |
একটি ভেরিয়েবলকে আরেকটি ভেরিয়েবল দ্বারা ভাগ করার জন্য ব্যবহার করা হয় |
B / A = 2 |
% |
দুটি পূর্ণসংখ্যার মধ্যে ভাগ করে ভাগশেষ পাওয়ার জন্য মডুলাস অপারেটর ব্যবহার করা হয় |
B % A = 0 |
++ |
কোন পূর্ণসংখ্যার মান এক বৃদ্ধি করার জন্য ইনক্রিমেন্ট অপারেটর ব্যবহার করা হয় |
A++ = 11 |
-- |
কোন পূর্ণসংখ্যার মান এক হ্রাস করার জন্য ডিক্রিমেন্ট অপারেটর ব্যবহার করা হয় |
A-- = 9 |
২. রিলেশনাল অপারেটরঃ রিলেশনাল অপারেটর দুইটি ভ্যালুর মানের মধ্যে তুলনা করে এবং ফলাফলের উপর ভিত্তি করে একটি বুলিয়ান (সত্য বা মিথ্যা) ভ্যালুর রিটার্ন বা ফেরত পাঠায় । একে কন্ডিশনাল অপারেটরও বলা হয় । সি শার্পে ব্যবহৃত রিলেশনাল অপারেটর গুলোর ব্যবহার দেখানো হল
মনেকরি, A এবং B দুইটি ভেরিয়েবল যাদের মান পর্যায়ক্রমে 10 ও 20
অপারেটর |
বর্ণনা |
উদাহারন |
== |
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি সমান হয় কন্ডিশন সত্য আর সমান না হলে কন্ডিশন মিথ্যা |
(A == B) ফলাফল মিথ্যে |
!= |
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি সমান না হয় কন্ডিশন সত্য আর সমান হলে কন্ডিশন মিথ্যা |
(A != B) ফলাফল সত্য |
> |
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি বাম পাশের ভ্যালুর মান ডান পাশের ভ্যালুর মানের চেয়ে বড় হয় তাহলে কন্ডিশন সত্য আর ছোট হলে কন্ডিশন মিথ্যা |
(A > B) ফলাফল মিথ্যে |
< |
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি বাম পাশের ভ্যালুর মান ডান পাশের ভ্যালুর মানের চেয়ে ছোট হয় তাহলে কন্ডিশন সত্য আর বড় হলে কন্ডিশন মিথ্যা |
(A < B) ফলাফল সত্য |
>= |
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি বাম পাশের ভ্যালুর মান ডান পাশের ভ্যালুর মানের চেয়ে বড় অথবা সমান হয় তাহলে কন্ডিশন সত্য আর ছোট হলে কন্ডিশন মিথ্যা |
(A >= B) ফলাফল মিথ্যে |
<= |
দুইটি ভ্যালুর মানের মধ্যে তুলনা করে, যদি বাম পাশের ভ্যালুর মান ডান পাশের ভ্যালুর মানের চেয়ে ছোট অথবা সমান হয় তাহলে কন্ডিশন সত্য আর বড় হলে কন্ডিশন মিথ্যা |
(A <= B) ফলাফল সত্য |
৩. লজিক্যাল অপারেটরঃ লজিক্যাল অপারেটর দুইটি বুলিয়ান এক্সপ্রেশনের মধ্যে তুলনা করে এবং ফলাফলের উপর ভিত্তি করে একটি লজিক্যাল (সত্য বা মিথ্যা) ভ্যালুর রিটার্ন বা ফেরত পাঠায় । সি শার্পে ব্যবহৃত লজিক্যাল অপারেটর গুলোর ব্যবহার দেখানো হল
মনেকরি, A এবং B দুইটি বুলিয়ান ভ্যালুর যাদের মান পর্যায়ক্রমে সত্য (1) ও মিথ্যা (0)।
অপারেটর |
বর্ণনা |
উদাহারন |
&& |
একে লজিক্যাল অ্যান্ড (AND) অপারেটর বলে । যদি দুইটি ভ্যালুই যদি শূন্য না হয় তাহলে কন্ডিশন সত্য আর যে কোন একটা শূন্য হলেই কন্ডিশন মিথ্যা |
(A && B) ফলাফল মিথ্যা |
|| |
একে লজিক্যাল অর (OR) অপারেটর বলে । যদি দুইটি ভ্যালুই যদি শূন্য হয় তাহলে কন্ডিশন মিথ্যে আর যে কোন একটা শূন্য না হলেই কন্ডিশন সত্য |
(A || B) ফলাফল সত্য |
! |
একে লজিক্যাল নট (NOT) অপারেটর বলে । যদি কন্ডিশন সত্য হয় নট অপারেটর একে মিথ্যা করে দেয় । আর কন্ডিশন যদি মিথ্যা হয় নট অপারেটর একে সত্য করে দেয় |
!(A && B) ফলাফল সত্যি |
৪. বিটওয়াইজ অপেরেটরঃ বিটওয়াইজ অপেরেটর বিট নিয়ে কাজ করে এবং বিট অনুযায়ী অপারেশন করে । নিচে & (অ্যান্ড), | (অর), এবং ^ (এক্সঅর) এর ট্রুথ টেবিল দেখানো হল
p |
q |
p & q |
p | q |
p ^ q |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
মনেকরি, A = 50 এবং B = 17 এখন A এবং B কে বাইনারিতে প্রকাশ করলে পাওয়া যায়
A = 00110010
B = 00010001
…………………………
A&B = 00100000
A|B = 00110011
A^B = 00100011
~A = 11001101
সি শার্পে ব্যবহৃত বিটওয়াইজ অপারেটর গুলোর ব্যবহার দেখানো হল
অপারেটর |
বর্ণনা |
উদাহারন |
& |
এটা হল বাইনারি অ্যান্ড অপারেটর |
(A & B) = 32, যার বাইনারি মান 00100000 |
| |
এটা হল বাইনারি অর অপারেটর |
(A | B) = 51, যার বাইনারি মান 00110011 |
^ |
এটা হল বাইনারি এক্সঅর অপারেটর |
(A ^ B) = 35, যার বাইনারি মান 00100011 |
~ |
এটা হল বাইনারি ওয়ান’স কমপ্লিমেন্ট অপারেটর |
(~A ) = 205, যার বাইনারি মান 11001101 |
<< |
এটা হল বাইনারি লেফট শিফট অপারেটর |
A << 2 = 200, যার বাইনারি মান 11001000 |
>> |
এটা হল বাইনারি রাইট শিফট অপারেটর |
A >> 2 = 12, যার বাইনারি মান 00001100 |
৫. অ্যাসাইনমেন্ট অপেরেটরঃ সি শার্পে ব্যবহৃত অ্যাসাইনমেন্ট অপারেটর গুলোর ব্যবহার নিচে দেখানো হল
অপারেটর |
বর্ণনা |
উদাহারন |
= |
সাধারণ অ্যাসাইনমেন্ট অপারেটর যার মাধ্যমে ডান সাইডের ভ্যালুর মান বাম সাইডের ভ্যালুতে অ্যাসাইন করা যায় |
C = A + B এখানে A + B এর মান C তে অ্যাসাইন হচ্ছে |
+= |
অ্যাডিশন এন্ড অ্যাসাইনমেন্ট অপারেটর । এটা বাম সাইডের ভ্যালুর মানের সাথে ডান সাইডের ভ্যালুর মান যোগ করে এবং বাম সাইডের ভ্যালুতে ফলাফল অ্যাসাইন করে দেয় |
C += A এখানে প্রথমে C = C + A এর কাজ হচ্ছে এর পর ফলাফল C তে অ্যাসাইন হচ্ছে |
-= |
সাবট্র্যাক্ট এন্ড অ্যাসাইনমেন্ট অপারেটর । এটা বাম সাইডের ভ্যালুর মানের থেকে ডান সাইডের ভ্যালুর মান যোগ করে এবং বাম সাইডের ভ্যালুতে ফলাফল অ্যাসাইন করে দেয় |
C -= A এখানে প্রথমে C = C – A এর কাজ হচ্ছে এর পর ফলাফল C তে অ্যাসাইন হচ্ছে |
*= |
মাল্টিপ্লাই এন্ড অ্যাসাইনমেন্ট অপারেটর । এটা বাম সাইডের ভ্যালুর মানের সাথে ডান সাইডের ভ্যালুর মান গুন করে এবং বাম সাইডের ভ্যালুতে ফলাফল অ্যাসাইন করে দেয় |
C *= A এখানে প্রথমে C = C * A এর কাজ হচ্ছে এর পর ফলাফল C তে অ্যাসাইন হচ্ছে |
/= |
ডিভাইড এন্ড অ্যাসাইনমেন্ট অপারেটর । এটা বাম সাইডের ভ্যালুর মানকে সাথে ডান সাইডের ভ্যালুর মান দিয়ে ভাগ করে এবং বাম সাইডের ভ্যালুতে ফলাফল অ্যাসাইন করে দেয় |
C /= A এখানে প্রথমে C = C / A এর কাজ হচ্ছে এর পর ফলাফল C তে অ্যাসাইন হচ্ছে |
%= |
মডুলাস এন্ড অ্যাসাইনমেন্ট অপারেটর । এটা বাম সাইডের ভ্যালুর মানকে সাথে ডান সাইডের ভ্যালুর মান দিয়ে মডুলাস করে এবং বাম সাইডের ভ্যালুতে ফলাফল অ্যাসাইন করে দেয় |
C %= A এখানে প্রথমে C = C % A এর কাজ হচ্ছে এর পর ফলাফল C তে অ্যাসাইন হচ্ছে |
<<= |
লেফট শিফট এন্ড অ্যাসাইনমেন্ট অপারেটর |
C <<= 2 এখানে প্রথমে C = C << 2 এর কাজ হচ্ছে এর পর ফলাফল C তে অ্যাসাইন হচ্ছে |
>>= |
রাইট শিফট এন্ড অ্যাসাইনমেন্ট অপারেটর |
C >>= 2 এখানে প্রথমে C = C >> 2 এর কাজ হচ্ছে এর পর ফলাফল C তে অ্যাসাইন হচ্ছে |
&= |
বিটওয়াইজ এন্ড অ্যাসাইনমেন্ট অপারেটর |
C &= 2 এখানে প্রথমে C = C & 2 এর কাজ হচ্ছে এর পর ফলাফল C তে অ্যাসাইন হচ্ছে |
^= |
বিটওয়াই এক্সক্লুসিভ অর এন্ড অ্যাসাইনমেন্ট অপারেটর |
C ^= 2 এখানে প্রথমে C = C ^ 2 এর কাজ হচ্ছে এর পর ফলাফল C তে অ্যাসাইন হচ্ছে |
|= |
বিটওয়াই ইনক্লুসিভ অর এন্ড অ্যাসাইনমেন্ট অপারেটর |
C |= 2 এখানে প্রথমে C = C | 2 এর কাজ হচ্ছে এর পর ফলাফল C তে অ্যাসাইন হচ্ছে |
৬. মিক্স অপেরেটরঃ সি শার্পে উপরে আলোচিত অপারেটর ছাড়া আরও কিছু গুরুত্বপূর্ণ অপারেটর রয়েছে নিচে এগুলো সম্পর্কে আলোচনা করা হল
অপারেটর |
বর্ণনা |
উদাহারন |
sizeof() |
ডাটা টাইপের সাইজ রিটার্ন করে |
int variable = 10; int sizeofVariable = sizeof(int); |
typeof() |
ক্লাসের টাইপ রিটার্ন করে |
Console.WriteLine(typeof(int)); |
& |
একটি ভেরিয়েবলের এড্রেস রিটার্ন করে |
&a |
* |
কোন ভেরিয়েবলেরকে পয়েন্ট করে |
*a |
? : |
কন্ডিশনাল এক্সপ্রেশন |
var value = name1.Length < 5 ? name1: name2; অর্থাৎ যদি কন্ডিশন সত্য হয় ? তাহলে ভ্যালু X : না হলে ভ্যালু Y |
is |
একটি নির্দিষ্ট ধরনের অবজেক্ট নির্ধারণ করে |
Class1 a;Class2 b; if (o is Class1){/*.......*/ } |
as |
as অপারেটরর একটা টাইপ থেকে অন্য একটি টাইপে কনভার্ট করার জন্য ব্যবহার করা হয় । এভাবে টাইপ কনভার্ট করলে কোন এক্সসেপশন দেখায় না |
foreach (object item in list) {string stype = item as string;} |