object o;
bool result=o is type;
type t=o as type;如,判断o是否为Form
bool result=o is Form;
Form f=o as Form;

解决方案 »

  1.   

    .NET Framework 类库   Object.Equals 方法  [C#]请参见
    Object 类 | Object 成员 | System 命名空间 | C++ 托管扩展编程 
    语言
    C#C++JScriptVisual Basic全部显示
    确定两个 Object 实例是否相等。重载列表
    确定指定的 Object 是否等于当前的 Object。受 .NET Framework 精简版的支持。[Visual Basic] Overloads Public Overridable Function Equals(Object) As Boolean
    [C#] public virtual bool Equals(object);
    [C++] public: virtual bool Equals(Object*);
    [JScript] public function Equals(Object) : Boolean;
    确定指定的 Object 实例是否被视为相等。[Visual Basic] Overloads Public Shared Function Equals(Object, Object) As Boolean
    [C#] public static bool Equals(object, object);
    [C++] public: static bool Equals(Object*, Object*);
    [JScript] public static function Equals(Object, Object) : Boolean;
    示例
    [C#, JScript] 下面的代码示例比较不同的对象。[C#, JScript] 注意   此示例显示如何使用 Equals 的一个重载版本。有关其他可用示例,请参阅单独的重载主题。
    [C#] 
    using System;public class MyClass {
       public static void Main() {
       string s1 = "Tom";
       string s2 = "Carol";
       Console.WriteLine("Object.Equals(\"{0}\", \"{1}\") => {2}", 
          s1, s2, Object.Equals(s1, s2));   s1 = "Tom";
       s2 = "Tom";
       Console.WriteLine("Object.Equals(\"{0}\", \"{1}\") => {2}", 
          s1, s2, Object.Equals(s1, s2));   s1 = null;
       s2 = "Tom";
       Console.WriteLine("Object.Equals(null, \"{1}\") => {2}",
           s1, s2, Object.Equals(s1, s2));   s1 = "Carol";
       s2 = null;
       Console.WriteLine("Object.Equals(\"{0}\", null) => {2}", 
           s1, s2, Object.Equals(s1, s2));   s1 = null;
       s2 = null;
       Console.WriteLine("Object.Equals(null, null) => {2}", 
           s1, s2, Object.Equals(s1, s2));
       }
    }
    /*This code produces the following output.Object.Equals("Tom", "Carol") => False
    Object.Equals("Tom", "Tom") => True
    Object.Equals(null, "Tom") => False
    Object.Equals("Carol", null) => False
    Object.Equals(null, null) => True*/[JScript] 
    import Systempackage Equals0
    {    public class MyClass {
       public static function Main() {
       var s1 : String = "Tom";
       var s2 : String = "Carol";
       var array : Object [] = new Object[3];   array[0] = s1;
       array[1] = s2;
       array[2] = System.Object.Equals(s1, s2);   Console.WriteLine("Object.Equals('{0}', '{1}') => {2}", 
          array);   s1 = "Tom";
       s2 = "Tom";
       array[0] = s1;
       array[1] = s2;
       array[2] = System.Object.Equals(s1, s2);
       
       Console.WriteLine("Object.Equals('{0}', '{1}') => {2}", 
          array);   s1 = null;
       s2 = "Tom";
       array[0] = s1;
       array[1] = s2;
       array[2] = System.Object.Equals(s1, s2);
       
       Console.WriteLine("Object.Equals(null, '{1}') => {2}",
           array);   s1 = "Carol";
       s2 = null;
       array[0] = s1;
       array[1] = s2;
       array[2] = System.Object.Equals(s1, s2);
       
       Console.WriteLine("Object.Equals('{0}', null) => {2}", 
           array);   s1 = null;
       s2 = null;
       array[0] = s1;
       array[1] = s2;
       array[2] = System.Object.Equals(s1, s2);
       Console.WriteLine("Object.Equals(null, null) => {2}", 
           array);
       }   
    }}Equals0.MyClass.Main();
    /*This code produces the following output.Object.Equals("Tom", "Carol") => False
    Object.Equals("Tom", "Tom") => True
    Object.Equals(null, "Tom") => False
    Object.Equals("Carol", null) => False
    Object.Equals(null, null) => True*/[Visual Basic, C++] 没有可用于 Visual Basic 或 C++ 的示例。若要查看 C# 或 JScript 示例,请单击页左上角的“语言筛选器”按钮 。请参见
    Object 类 | Object 成员 | System 命名空间 | C++ 托管扩展编程 
    --------------------------------------------------------------------------------发送有关此主题的意见 © 2001-2002 Microsoft Corporation。保留所有权利。