C# Keywords - as
记录一下在日常开发过程中遇到的一些C# 基础编程的知识!
希望以后能用的着。知识是在平常的开发过程中去学到的。只有用到了,你才能深入的理解它,并用好它。
本资料来源于:MSND
下面是一些相关的code 和 说明。
As 关键字 (属于运算符关键字)
可以使用 as 运算符执行转换的某些类型 在兼容之间的引用类型 或可以为 null的类型。 这段话不好理解,说白了就是强制类型转换不会throw exception。
class Base
{
public override string ToString()
{
return "Base";
}
}
class Derived : Base
{
}
class Program
{
static void Main()
{
Derived d = new Derived();
Base b = d as Base; // 引用类型的强制类型转换
if (b != null)
{
Console.WriteLine(b.ToString());
}
}
重点注意:
As 运算符类似于强制类型转换操作,但是唯一不同的是,如果转换是不可能的,as会返回 null 而不引发异常。
expression as type 这两给表达式的效果是一样的。
Expression is type ? (type)expression : (type)null
注意的是: as 运算符执行只引用转换、nullable 转换和装箱转换。 as 运算符不能执行其他转换,如用户定义的转换,应是通过使用转换的表达式。
class ClassA { }
class ClassB { }
class Program
{
static void Main()
{
object[] obj = new object[6];
obj[0] = new ClassA();
obj[1] = new ClassB();
obj[2] = "Hello";
obj[3] = 100;
obj[4] = 365.23;
obj[5] = null;
foreach (var val in obj)
{
string str = val as string; // 如果此刻类型转换失败,不会抛异常,而是赋空引用 null
if (str != null)
{
Console.WriteLine("string: " + str);
}
else
{
Console.WriteLine(val + " not string type");
}
}
Console.ReadLine();
}
}
转载于:https://www.cnblogs.com/htwdz-qhm/p/4153890.html
C# Keywords - as相关推荐
- C# Keywords - is
记录一下在日常开发过程中遇到的一些C# 基础编程的知识!希望以后能用的着.知识是在平常的开发过程中去学到的.只有用到了,你才能深入的理解它,并用好它. 本资料来源于:MSND下面是一些相关的code ...
- XenApp / XenDesktop 7.6 初体验五 KEYWORDS
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://beanxyz.blog.51cto.com/5570417/1583860 豆子 ...
- hdu 2222:Keywords Search
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submissi ...
- boost::log::keywords::format用法的测试程序
boost::log::keywords::format用法的测试程序 实现功能 C++实现代码 实现功能 boost::log::keywords::format用法的测试程序 C++实现代码 #i ...
- GDCM:gdcm::Keywords的测试程序
GDCM:gdcm::Keywords的测试程序 GDCM:gdcm::Keywords的测试程序 GDCM:gdcm::Keywords的测试程序 #include "gdcmTagKey ...
- Keywords: Flash( Scaleform ) UI
好久没写了,要继续坚持Keywords--积累的力量看似微不足道,实际是无穷大的 1.现在项目中的UI尝试要开辟一种不同于以往网游的全新风格,现在有一些不错的思路,而且相应技术在移动平台或者Linux ...
- 动态修改页面Meta 标签 keywords description
protected void Page_Load(object sender, EventArgs e) { //页面标题 Title = "This is a title an ...
- smarty模板引擎总结六配置网站title,keywords,description
前台样式配置 作用:配置前台一些数据 title,keys,网站的描述,一些css样式 在smarty初始化文件 smarty.inc.php $smarty->config_dir = ...
- 如何为 Drupal 添加简单的 SEO META 标签(title keywords des...
2019独角兽企业重金招聘Python工程师标准>>> Drupal 做为优秀的世界级开源 CMS 建站系统,自然有很多开发者贡献与 SEO 相关的模块插件扩展例如:用来批量自定义 ...
- Keywords Search HDU - 2222(AC自动机模板)
题意: 给定 n个长度不超过 50的由小写英文字母组成的单词准备查询,以及一篇文章,问:文中出现了多少个待查询的单词.多组数据. 题目: In the modern time, Search engi ...
最新文章
- web前端开发培训有哪些学习阶段
- MFC创建属性表单“所需资源不存在”错误解决方法
- Android-PopupWindow
- 《CLR via C#》读书笔记 之 参数
- ERC20代币合约详解,附实现代码
- Maven 本地仓库明明有jar包,pom文件还是报错解决办法(Missing artifact...jar)
- 几句话就能让你明白:热备份路由选择协议(HSRP)
- 83.删除排序链表中的重复元素(力扣leetcode) 博主可答疑该问题
- spring框架类加载顺顺序 并 在spring启动后查询数据库加载到容器内
- 教师资格证信息技术主观题
- 【微信支付】springboot 微信app支付包括回调通知
- 如何批量将 Excel 文档转为 Xps 格式
- vue接入腾讯防水墙代码
- jenkins 怎么配置阿里企业邮箱进行email发送
- 4g 控矿驱动 迪兰rx574_主流显卡之争 574/1065战怪猎:世界
- 机器学习——SVM(支持向量机)与人脸识别
- 排序-JAVA实现【四】堆排序
- 手持式频谱分析仪 TFN的715c和760c怎么样
- 硬件电路设计之升压/降压电路
- docker安装bind
热门文章
- 准备重新回归信息安全产业
- subst命令镜像虚拟磁盘指南(原创)
- pom.xml报错:Failure to find org.apache.maven.doxia:doxia-logging-api:jar:1.1 in http://repo.
- .NET Core整合log4net以及全局异常捕获实现2
- 关于数据精度的一些事
- 汇编学习笔记(4)-伪指令(MASM)
- 【Java NIO】一文了解NIO
- python玩转大数据视频[非原创视频]
- POJ 2808 校门外的树
- C#后台调用前台javascript的五种方法