您的位置:首页 > 编程语言 > C#

C#中As 及Is 的用法

2005-03-29 13:20 453 查看
今天一早上网,打开MSN就看到有个CSDN的朋友发出求救信。同时也在CSDN上他发了个贴子。他问的问题是那种最基本的语法知识方面的问题。我真不明白现在的程序员连这一点常识都没有,真不知他是如何混到现在的。
他的问题是:
有这样一段代码:
GroupRadioButton selectRadioButton =
dgItem.FindControl("selectRadioButton") as GroupRadioButton;
"as GroupRadioButton;" 是什么意思
怎么感觉是VB的写法呢
我试了试int i = 10 as int 编译居然没有错

为什么这样的代码能通过编译。在C#中,所有的东西都是对象。因此10也是一个整型对象。这里用到了as ,那as 是什么呢。他告诉我说在MSDN里找不到关于AS的帮助。说的也是,你在MSDN里的索引里找根本就没有AS的介绍,那到哪去找到帮助呢。其实你只要输入关键字就可以了。找到C#关键字,里面有关于as 及is的用法。
as 运算符类似于类型转换,所不同的是,当转换失败时,as 运算符将产生空,而不是引发异常。在形式上,这种形式的表达式:
expression as type
as 运算符只执行引用转换和装箱转换。as 运算符无法执行其他转换,如用户定义的转换,这类转换应使用 cast 表达式来代替其执行

关于is的其实也差不多,只是IS不会帮你进行任何的转换。所以需要自已进行显示转换
is 运算符用于检查对象的运行时类型是否与给定类型兼容。
那么上面的表达式应该这样写了
if(10 is int)
{
int i=(int)10;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: