日期:2014-05-18  浏览次数:21033 次

C# 中 as的作用
问一下大家 as的作用是做什么的啊 ,例如:
C# code
Label li = this.FindControl("Label1") as Label;
        li.Text = Session["username"].ToString();



------解决方案--------------------
FindControl 返回的是一个 Control类对象,如果它是Label,这样就可以直接转为 Label对象, 可以参看一下 <Effective C#> 原则3:选择is或者as操作符而不是做强制类型转换
------解决方案--------------------
http://topic.csdn.net/u/20110506/01/cfd1b078-6b40-4da2-ad53-8c1da70c5838.html
------解决方案--------------------
里氏替换原则中两项重要技术之一。

一、is
用于判断当前成员是否与提供成员的类型一致。
二、as
相当于强制转换,但是as不同的是,如果转换不成功的话,不会发生异常。而会产生一个null.
------解决方案--------------------
强类型转换,果转换不成功的话,不会引发异常,而会赋一个null值

但如果对null进行操作则还是会产生异常了
------解决方案--------------------
嗯强制类型转换吧。如果我用就会直接Label li = (Label)this.FindControl("Label1") ;
嘿嘿,见效了