首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
网络编程
ASP.NET
正文
不能忽略c#中的using和as操作符的用处
所属分类:
网络编程
/
ASP.NET
阅读数: 1863
收藏 0
赞 0
分享
是不是很多人不用c#中的using和as操作符?甚至不知道?
其实这2个操作符在小处非常有用。
1、using
按照msdn的解释
using 语句定义一个范围,在此范围的末尾将处理对象。
举例:
class TestUsing:IDisposable
{
public void Dispose()
{
Console.WriteLine("Dispose");
}
public void Method()
{
Console.WriteLine("Do a method");
}
}
调用这个类:
using(TestUsing tu=new TestUsing())
{
tu.Method();
}
可以看到先后输出了Do a method和Dispose。
备注:实例化的对象必须实现 System.IDisposable 接口
2、as
msdn这么说:
as 运算符用于执行可兼容类型之间的转换。
as 运算符类似于类型转换,所不同的是,当转换失败时,as 运算符将产生空,而不是引发异常。在形式上,这种形式的表达式:
expression as type
等效于:
expression is type ? (type)expression : (type)null
只是 expression 只被计算一次。
请注意,as 运算符只执行引用转换和装箱转换。as 运算符无法执行其他转换,如用户定义的转换,这类转换应使用 cast 表达式来代替其执行。
举例:
object [] arr=new object[2];
arr[0]=123;
arr[1]="test";
foreach(object o in arr)
{
string s=(string)o;
Console.WriteLine(s);
}
这样的代码在转换类型失败的时候引发异常,代码修改成:
object [] arr=new object[2];
arr[0]=123;
arr[1]="test";
for(int i=0;i<arr.Length;i++)
{
string s=arr[i] as string;
if(s!=null)Console.WriteLine(i+":"+s);
} 可以看到输出了1:test,虽然arr[0]处转换失败但是没有引发异常而是返回了null
备注:as必须和引用类型一起使用(int等值类型不能使用)
更多精彩内容
其他人还在看
开源跨平台运行服务插件TaskCore.MainForm
这篇文章主要为大家详细介绍了开源跨平台运行服务插件TaskCore.MainForm的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
评论 0
收藏 0
赞 0
分享
CKEditor自定义按钮插入服务端图片
这篇文章主要为大家详细介绍了CKEditor自定义按钮插入服务端图片的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
评论 0
收藏 0
赞 0
分享
Asp.net Web Api实现图片点击式图片验证码功能
现在验证码的形式越来越丰富,今天要实现的是在点击图片中的文字来进行校验的验证码。下面通过本文给大家分享Asp.net Web Api实现图片点击式图片验证码功能,需要的的朋友参考下吧
评论 0
收藏 0
赞 0
分享
WPF实现ScrollViewer滚动到指定控件处
这篇文章主要为大家详细介绍了WPF实现ScrollViewer滚动到指定控件处,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
评论 0
收藏 0
赞 0
分享
WPF实现带全选复选框的列表控件
这篇文章主要为大家详细介绍了WPF实现带全选复选框的列表控件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
评论 0
收藏 0
赞 0
分享
Asp.net MVC 中利用jquery datatables 实现数据分页显示功能
这篇文章主要介绍了Asp.net MVC 中利用jquery datatables 实现数据分页显示功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
asp.net 利用NPOI导出Excel通用类的方法
本篇文章主要介绍了asp.net 利用NPOI导出Excel通用类的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
评论 0
收藏 0
赞 0
分享
VS2015自带LocalDB数据库用法详解
这篇文章主要为大家详细介绍了VS2015自带LocalDB数据库的用法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
评论 0
收藏 0
赞 0
分享
SignalR Self Host+MVC等多端消息推送服务(一)
这篇文章主要为大家详细介绍了SignalR Self Host+MVC等多端消息推送服务,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
评论 0
收藏 0
赞 0
分享
SignalR Self Host+MVC等多端消息推送服务(二)
这篇文章主要为大家详细介绍了SignalR Self Host+MVC等多端消息推送服务的第二篇,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
又被电商耍?2015.6·18年中大促"先涨后降"把戏仍在
90后男屌丝如何让淘宝客日赚10万滴
没钱不懂技术的屌丝草根站长该怎么通过网络赚钱
怎么进入微店买东西?微店购物流程图文介绍
Google
Papi酱首次直播的八大平台是哪些 打赏90万服不服
站长故事
更多
一问易答:为何小米4/魅族MX4不支持NFC?
如何利用百度贴吧做网络营销
求伯君:如果时光倒流我不会选择创业
一个新手站长的几年seo外链过程
大学生谈网络赚钱的经历
写给那些曾经想转型却找不到方向的的站长