সি # তে দুটি অদ্ভুত অপারেটর রয়েছে:
আমি যদি এই অধিকারটি বুঝতে পারি তবে এই অপারেটরগুলিকে এমন ধরণের ব্যবহার করা যেতে পারে যা আমি বুলিয়ান এক্সপ্রেশনের পরিবর্তে ব্যবহার করতে চাই এবং যেখানে আমি বুলকে অন্তর্নিহিত রূপান্তর সরবরাহ করতে চাই না।
ধরা যাক আমার নিম্নলিখিত ক্লাস রয়েছে:
public class MyType
{
public readonly int Value;
public MyType(int value)
{
Value = value;
}
public static bool operator true (MyType mt)
{
return mt.Value > 0;
}
public static bool operator false (MyType mt)
{
return mt.Value < 0;
}
}
সুতরাং আমি নিম্নলিখিত কোডটি লিখতে পারি:
MyType mTrue = new MyType(100);
MyType mFalse = new MyType(-100);
MyType mDontKnow = new MyType(0);
if (mTrue)
{
// Do something.
}
while (mFalse)
{
// Do something else.
}
do
{
// Another code comes here.
} while (mDontKnow)
তবে উপরের সমস্ত উদাহরণের জন্য কেবলমাত্র সত্য অপারেটর কার্যকর করা হয়। তাহলে সি # এর ভুয়া অপারেটর কীসের জন্য ভাল?