2012年4月27日星期五

IS运算符

IS运算符

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();		}	}}

TAG:C#