C#中As 及Is 的用法

转载 2005年04月27日 17:18:00

今天一早上网,打开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;

}

Flex之旅:第一部分:flex必备基础知识积累(3)---is as typeof in instanceof 用法介绍

is运算符 is运算符是ActionScript 3.0中的新增运算符,用来测试变量或表达式是否为给定的数据类型。返回值是true 和 false。is运算符可以检查正确的继承层次结构,不但能够检...
  • miqi770
  • miqi770
  • 2015年03月11日 15:10
  • 658

C#为什么使用AS和IS运算符及其性能比较

AS和IS对于如何安全的“向下转型”提供了较好的解决方案,因此我们有两种转型的选择: 1、使用AS运算符进行类型转换 2、先使用IS运算符判断类型是否可以转换,再使用()运算符进行显示的转换 ...

C#中as和is关键字作用 收藏

一. as 运算符用于在兼容的引用类型之间执行某些类型的转换。例如:static void Main(string[] args){    object[] obj = new object[3]; ...

C#中as是什么含义?is是什么含义?

Is:检查对象是否与给定的类型兼容。例如,下面的代码可以确定MyObject类型的一个实例,或者对象是否从MyObject派生的一个类型: if(obj is MyObject){} ...

C#里氏转换/is/as

【里氏转换】两原则: (1)子类可以赋值给父类,但父类不会有子类的字段、属性、方法(如果有一个地方需要一个父类作为参数,我们可以用一个子类代替) string str =strin...

C#中的is和as操作符

在C#语言中进行类型转换的操作符is和as。is和as都是强制类型转换,但这两者有什么相同之处和不同之处呢?在使用is和as需要注意哪些事项?下面我们从简单的代码示例去探讨这个简单的问题。注:此博文只...

C#中As 及Is 的用法

C#中As 及Is 的用法 在学习C#时,看到这样一种表达方式: BAP_USER user= session["User"]asBAP_USER; if(user== null...

黑马程序员--.Net学习日记——C#强制转换as is 的用法和区别

黑马程序员--.Net学习日记——C#强制转换as is的用法和区别 ----------------------Windows Phone 7手机开发、Net培训、期待与您交流! ----...
  • gao490
  • gao490
  • 2012年07月25日 16:26
  • 188

C#中的is和as操作符

在C#语言中进行类型转换的操作符is和as。is和as都是强制类型转换,但这两者有什么相同之处和不同之处呢?在使用is和as需要注意哪些事项?下面我们从简单的代码示例去探讨这个简单的问题。注:此博文只...

黑马程序员_C#中is和as的区别

关于类型的判断和转换有is和as这2个操作符。具体区别和用法如下 is就是处于对类型的判断。返回true和false。如果一个对象是某个类型或是其父类型的话就返回为true,否则的话就会返回为fals...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#中As 及Is 的用法
举报原因:
原因补充:

(最多只允许输入30个字)