as 运算符用于执行可兼容类型之间的转换。as 运算符用在以下形式的表达式中:tabControl1.SelectedTab.Tag转换成Form类型

解决方案 »

  1.   

    什么是强制类型转换
    把tabControl1.SelectedTab.Tag 转换成Form形式 有什么用处吗?
    感谢各位的回应
      

  2.   

    转换使一种类型的表达式可以被视为另一种类型。转换可以是隐式或显式,这将确定是否需要显式地强制转换。例如,从 int 类型到 long 类型的转换是隐式的,因此 int 类型的表达式可隐式地按 long 类型处理。从 long 类型到 int 类型的反向转换是显式的,因此需要显式地强制转换。
    int a = 123;
    long b = a;         // implicit conversion from int to long
    int c = (int) b;   // explicit conversion from long to int
      

  3.   

    强制类型转换 类似 C中的强制类型转换   查一下MSDN就知道了
      

  4.   

    这个我学C++的时候就有学过啰
    我比较好奇的是tabControl1.SelectedTab.Tag 转换成FORM类型可以干麻?
    这是属于容器的转换吗? 感谢您的回应 ^^
      

  5.   

    加括号的是强制转换,转换失败会抛出异常
    Form f = (Form)tabControl1.SelectedTab.Tag;
    失败会有异常
    而as转换失败不会跑出异常,
    Form f = tabControl1.SelectedTab.Tag as Form;
    失败没有异常f=null;
      

  6.   

    转换使一种类型的可以被用作为另一种类型。
    转换可以是隐式或显式
    隐式:int i = 2 ; long tt = i将int类型的变量赋值给long型
    显式:Form f = (Form)tabControl1.SelectedTab.Tag;显式多为强制转换。强制转换顾名思义就是强行转换。