C # में दो अजीब ऑपरेटर हैं:
अगर मैं इस अधिकार को समझता हूं तो इन ऑपरेटरों का उपयोग उन प्रकारों में किया जा सकता है जो मैं बूलियन अभिव्यक्ति के बजाय उपयोग करना चाहता हूं और जहां मैं बूल को एक अंतर्निहित रूपांतरण प्रदान नहीं करना चाहता हूं।
मान लीजिए कि मेरे पास निम्न वर्ग है:
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)
हालाँकि सभी उदाहरणों के लिए केवल सच्चे ऑपरेटर को ही निष्पादित किया जाता है। तो सी # में झूठे ऑपरेटर के लिए क्या अच्छा है?