C# is a programming language that considers object as the base class for all the derived classes in a program. All types get inherited from objects which are further used for performing some functionality by extending the properties of derived classes. C# object being derived have some methods and abilities to reference and dereference any object of the base type. Referencing of an object in both the cases of derived and base classes plays an important role for checking the object type being created. Casting with the base class object is mandatory to make it compatible to check the object type.
Syntax:
The syntax flow for checking the type of object in C# is to get the type of object and its associated nature of object.
public Type GetType ();
And if in case types of object is already identified then typeof() is used for identifying the C# object
typeof()
Object type checking in C# plays a pivotal role in determining the type and details of the object related to the implementation. These details are very important for programmers in terms of implementation and requirement fulfillment. Thus, there are certain ways using which the Object in C# can be checked which are as follows :
Let us discuss examples of C# check object type.
This program demonstrates the usage of object in the C# with the already inbuilt object within the system as shown in the output.
Code:
using System; using System.Text; class Demo_Prog { static void Main() { object vl_1 = new StringBuilder(); Console.WriteLine(vl_1.GetType()); } }
Output:
This program demonstrates the use of GetType() method which is used very frequently to check the object type of C# also with the use when it is needed at the time of run time execution as shown in the output.
Code:
using System; namespace Consl_App1 { class Fruit { } class Kiwi : Fruit { } class Pro_g { static Fruit newFruit() { return new Kiwi(); } static void Main(string[] args) { Fruit f = newFruit(); Console.WriteLine(typeof(Fruit)); Console.WriteLine(f.GetType()); Console.ReadKey(); } } }
Output:
This program demonstrates the derived object in the class from the base object as shown in the output to identify the type of object within the class in C#.
Code:
using System; public class M_Bs_Cl { } public class M_Drvd_Cl: M_Bs_Cl { } public class Test { public static void Main() { M_Bs_Cl m_bs = new M_Bs_Cl(); M_Drvd_Cl m_Drvd = new M_Drvd_Cl(); object obj = m_Drvd; M_Bs_Cl bsc = m_Drvd; Console.WriteLine("m_bs: Type is obj{0}", m_bs.GetType()); Console.WriteLine("m_Drvd: Type is obj{0}", m_Drvd.GetType()); Console.WriteLine("object obj = m_Drvd: obj_Type is {0}", obj.GetType()); Console.WriteLine("M_Bs_Cl b = myDerived: Type is {0}", bsc.GetType()); } }
Output:
This program demonstrates the usage of object with all the various types of arguments as object as shown in the output. These various types of arguments are used to get the value and the type of object is identified with nature it possesses as per requirement.
Code:
using System; class Demo_Prog { static void Main() { string vl_1 = "Java Pearl Ruby"; Verify(vl_1); Verify((object)vl_1); int num = 150; Verify(num); Verify((object)num); Verify(null); } static void Verify(object vl_1) { Console.WriteLine(vl_1 != null); if (vl_1 is string) { Console.WriteLine("Value_Of_String: {0}", vl_1); } else if (vl_1 is int) { Console.WriteLine("Value_Of_int: {0}", vl_1); } } }
Output:
This program demonstrates the is an operator with respect to the object when it must return a value as true for any instance where the reference shows the inheritance in the tree as shown in the output.
Code:
using System; public class C1 { } public class C2: C1 { } public class C3 { } public class sck_br { public static void Main() { C1 ob_1 = new C1(); C2 ob_2 = new C2(); Console.WriteLine(ob_1 is C1); Console.WriteLine(ob_1 is Object); Console.WriteLine(ob_2 is C2); Console.WriteLine(ob_2 is Object); Console.WriteLine(ob_2 is C2); Console.WriteLine(ob_2 is C3); Console.WriteLine(ob_2 is C3); } }
Output:
C# object type is mostly used by the programmers in order to fetch the detailed information about the object at the time of compilation or sometimes at the time of runtime execution of the program. The type of value returned depends on the type of variable or object that is required at the time of execution or compilation. Thus, creating C# object type plays a very important role in terms of metadata of information.
The above is the detailed content of C# check object type. For more information, please follow other related articles on the PHP Chinese website!