IS ऑपरेटर
C# में "is" ऑपरेटर चेक करता है कि किसी ऑब्जेक्ट का रनटाइम टाइप दिए गए टाइप के साथ कम्पेटिबल है या नहीं।
निम्नलिखित सिंटैक्स है -
expr is type
यहाँ, expr एक्सप्रेशन है
type टाइप का नाम है
निम्नलिखित उदाहरण C# में is ऑपरेटर के उपयोग को दर्शाता है -
उदाहरण
using System;
class One { }
class Two { }
public class Demo {
public static void Test(object obj) {
One x;
Two y;
if (obj is One) {
Console.WriteLine("Class One");
x = (One)obj;
} else if (obj is Two) {
Console.WriteLine("Class Two");
y = (Two)obj;
} else {
Console.WriteLine("None of the classes!");
}
}
public static void Main() {
One o1 = new One();
Two t1 = new Two();
Test(o1);
Test(t1);
Test("str");
Console.ReadKey();
}
}
आउटपुट
Class One Class Two None of the classes!
AS ऑपरेटर
"as" ऑपरेटर कम्पेटिबल टाइप्स के बीच कन्वर्जन करता है। यह कास्ट ऑपरेशन की तरह है और यह केवल रेफरेंस कन्वर्जन, नल करने योग्य कन्वर्जन, और बॉक्सिंग कन्वर्जन करता है। as ऑपरेटर अन्य कन्वर्जन नहीं कर सकता, जैसे यूजर-डिफाइंड कन्वर्जन, जिन्हें कास्ट एक्सप्रेशन्स का उपयोग करके किया जाना चाहिए।
निम्नलिखित उदाहरण C# में as ऑपरेशन के उपयोग को दर्शाता है। यहाँ as का उपयोग कन्वर्जन के लिए किया गया है -
string s = obj[i] as string;
C# में 'as' ऑपरेटर के साथ काम करने के लिए निम्नलिखित कोड चलाएं -
उदाहरण
using System;
public class Demo {
public static void Main() {
object[] obj = new object[2];
obj[0] = "jack";
obj[1] = 32;
for (int i = 0; i < obj.Length; ++i) {
string s = obj[i] as string;
Console.Write("{0}: ", i);
if (s != null)
Console.WriteLine("'" + s + "'");
else
Console.WriteLine("This is not a string!");
}
Console.ReadKey();
}
}
आउटपुट
0: 'jack' 1: This is not a string!