The difference between is and as operators are as follows:
- The is operator is used to check if the run-time type of an object is compatible with the given type or not whereas as operator is used to perform conversion between compatible reference types or Nullable types.
- The is operator is of boolean type whereas as operator is not of boolean type.
- The is operator returns true if the given object is of the same type whereas as operator returns the object when they are compatible with the given type.
- The is operator returns false if the given object is not of the same type whereas as operator return null if the conversion is not possible.
- The is operator is used for only reference, boxing, and unboxing conversions whereas as operator is used only for nullable, reference and boxing conversions
Example of is operator:
// C# program to illustrate the // use of is operator keyword using System;
// taking a class public class P { }
// taking a class // derived from P public class P1 : P { }
// taking a class public class P2 { }
// Driver Class public class GFG {
// Main Method
public static void Main()
{
// creating an instance
// of class P
P o1 = new P();
// creating an instance
// of class P1
P1 o2 = new P1();
// checking whether 'o1'
// is of type 'P'
Console.WriteLine(o1 is P);
// checking whether 'o1' is
// of type Object class
// (Base class for all classes)
Console.WriteLine(o1 is Object);
// checking whether 'o2'
// is of type 'P1'
Console.WriteLine(o2 is P1);
// checking whether 'o2' is
// of type Object class
// (Base class for all classes)
Console.WriteLine(o2 is Object);
// checking whether 'o2'
// is of type 'P'
// it will return true as P1
// is derived from P
Console.WriteLine(o2 is P1);
// checking whether o1
// is of type P2
// it will return false
Console.WriteLine(o1 is P2);
// checking whether o2
// is of type P2
// it will return false
Console.WriteLine(o2 is P2);
}
} |
Output:
True True True True True False False
Example of as operator:
// C# program to illustrate the // concept of 'as' operator using System;
// Classes class Y { }
class Z { }
class GFG {
// Main method
static void Main()
{
// creating and initializing object array
object [] o = new object [5];
o[0] = new Y();
o[1] = new Z();
o[2] = "Hello" ;
o[3] = 4759.0;
o[4] = null ;
for ( int q = 0; q < o.Length; ++q) {
// using as operator
string str1 = o[q] as string ;
Console.Write( "{0}:" , q);
// checking for the result
if (str1 != null ) {
Console.WriteLine( "'" + str1 + "'" );
}
else {
Console.WriteLine( "Is is not a string" );
}
}
}
} |
Output:
0:Is is not a string 1:Is is not a string 2:'Hello' 3:Is is not a string 4:Is is not a string
Article Tags :