IS运算符
2012-04-27 22:18 精诚所至 金石为开 阅读(540) 评论(0) 编辑 收藏 举报IS运算符判断类型返回布尔值。
using System; namespace aa { class Checker { public void Check(object param1) { if (param1 is ClassA) Console.WriteLine("Variable can be converted to ClassA."); else Console.WriteLine("Variable can't be converted to ClassA."); if (param1 is IMyInterface) Console.WriteLine("Variable can be converted to IMyInterface."); else Console.WriteLine("Variable can't be converted to IMyInterface."); if (param1 is MyStruct) Console.WriteLine("Variable can be converted to MyStruct."); else Console.WriteLine("Variable can't be converted to MyStruct."); } } interface IMyInterface { } class ClassA:IMyInterface { } class ClassB:IMyInterface { } class ClassC { } class ClassD:ClassA { } struct MyStruct:IMyInterface { } class Program { public static void Main(string[] args) { Checker check=new Checker(); ClassA try1=new ClassA (); ClassB try2=new ClassB(); ClassC try3=new ClassC(); ClassD try4=new ClassD(); MyStruct try5=new MyStruct(); object try6=try5; Console.WriteLine("Analyzing ClassA type variable:"); check.Check(try1); Console.WriteLine("\nAnalyzing ClassB type variable:"); check.Check(try2); Console.WriteLine("\nAnalyzing ClassC type variale:"); check.Check(try3); Console.WriteLine("\nAnalyzing ClassD type variable:"); check.Check(try4); Console.WriteLine("\nAnalyzing MyStruct type variable:"); check.Check(try5); Console.WriteLine("\nAnalyzing boxed MyStruct type variable:"); check.Check(try6); Console.ReadKey(); } } }