C# as关键字
来源:互联网 发布:mac连接云服务器文件 编辑:程序博客网 时间:2024/05/18 19:42
as 运算符用于执行可兼容类型之间的转换。
as 运算符类似于类型转换,所不同的是,当转换失败时,as 运算符将产生空,而不是引发异常。在形式上,这种形式的表达式:
expression as type
等效于:
expression is type ? (type)expression : (type)null
只是 expression 只被计算一次。
请注意,as 运算符只执行引用转换和装箱转换。as 运算符无法执行其他转换,如用户定义的转换,这类转换应使用 cast 表达式来代替其执行。
----------
所以这里的意思就是说,as运算符和括号类型转换的区别是,括号类型转换会在转换失败的时候抛出异常,而as不抛异常,只是返回一个null。所以在as之后的变量要判断是否为null。
既然C#已经有了括号的类型转换,为啥还加一个as呢?是多此一举吗?
引用一篇文章(C#中"is" vs "as")
如果用括号的话:
---------
if (cls1 is Class2)
{
Class2 cls2 = (Class2)cls1;
}
else
System.Console.WriteLine("Error 2!");
}
-------
这里判断了两次类型的转化,第一次是"is"的时候,第二次则是转换的时候。
而如果使用as的话:
-------
Class2 cls2 = cls1 as Class2;
if (cls2!=null)
System.Console.WriteLine("Ok");
else
System.Console.WriteLine("Error!");
-------
这里只有在as的时候类型检查了一次。
- C#中的as关键字
- C#中的AS关键字
- C# as关键字
- 关于 C# 中的 as 关键字
- C#关键字 - is 和 as
- c# 关键字AS的理解
- C#中的is,as关键字
- C# is和as关键字
- C#中as和is关键字作用
- C#中的关键字is和as
- GetType与C#关键字typeof ,is,as
- c#中as关键字的使用
- AS关键字
- c# 中is和as关键字的区别
- c# 中 is 和 as 关键字的区别
- C#中as和is关键字的作用
- C#中的类型转换-------is,as关键字释疑
- C#中as和is关键字作用 收藏
- inux dd命令刻录启动U盘详解
- java编写时字符转换
- 网络互联参考模型(详解)
- “趁热喝”竟会致癌?美公布十大癌症候选人名单
- sqlite数据库C++操作入门实践
- C# as关键字
- 利用GTK 和 libxml 编写词典软件
- 想着自己的故事流泪
- tmp
- JavaScript面向对象编程
- 常用浏览器的强制刷新快捷键
- binutils internal struct
- 参考书目
- Linux命令nohup+screen