记录一下在日常开发过程中遇到的一些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相关推荐

  1. C# Keywords - is

    记录一下在日常开发过程中遇到的一些C# 基础编程的知识!希望以后能用的着.知识是在平常的开发过程中去学到的.只有用到了,你才能深入的理解它,并用好它. 本资料来源于:MSND下面是一些相关的code ...

  2. XenApp / XenDesktop 7.6 初体验五 KEYWORDS

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://beanxyz.blog.51cto.com/5570417/1583860 豆子 ...

  3. hdu 2222:Keywords Search

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submissi ...

  4. boost::log::keywords::format用法的测试程序

    boost::log::keywords::format用法的测试程序 实现功能 C++实现代码 实现功能 boost::log::keywords::format用法的测试程序 C++实现代码 #i ...

  5. GDCM:gdcm::Keywords的测试程序

    GDCM:gdcm::Keywords的测试程序 GDCM:gdcm::Keywords的测试程序 GDCM:gdcm::Keywords的测试程序 #include "gdcmTagKey ...

  6. Keywords: Flash( Scaleform ) UI

    好久没写了,要继续坚持Keywords--积累的力量看似微不足道,实际是无穷大的 1.现在项目中的UI尝试要开辟一种不同于以往网游的全新风格,现在有一些不错的思路,而且相应技术在移动平台或者Linux ...

  7. 动态修改页面Meta 标签 keywords description

    protected void Page_Load(object sender, EventArgs e) {    //页面标题    Title = "This is a title an ...

  8. smarty模板引擎总结六配置网站title,keywords,description

    前台样式配置 作用:配置前台一些数据 title,keys,网站的描述,一些css样式 在smarty初始化文件 smarty.inc.php $smarty->config_dir    = ...

  9. 如何为 Drupal 添加简单的 SEO META 标签(title keywords des...

    2019独角兽企业重金招聘Python工程师标准>>> Drupal 做为优秀的世界级开源 CMS 建站系统,自然有很多开发者贡献与 SEO 相关的模块插件扩展例如:用来批量自定义 ...

  10. Keywords Search HDU - 2222(AC自动机模板)

    题意: 给定 n个长度不超过 50的由小写英文字母组成的单词准备查询,以及一篇文章,问:文中出现了多少个待查询的单词.多组数据. 题目: In the modern time, Search engi ...

最新文章

  1. web前端开发培训有哪些学习阶段
  2. MFC创建属性表单“所需资源不存在”错误解决方法
  3. Android-PopupWindow
  4. 《CLR via C#》读书笔记 之 参数
  5. ERC20代币合约详解,附实现代码
  6. Maven 本地仓库明明有jar包,pom文件还是报错解决办法(Missing artifact...jar)
  7. 几句话就能让你明白:热备份路由选择协议(HSRP)
  8. 83.删除排序链表中的重复元素(力扣leetcode) 博主可答疑该问题
  9. spring框架类加载顺顺序 并 在spring启动后查询数据库加载到容器内
  10. 教师资格证信息技术主观题
  11. 【微信支付】springboot 微信app支付包括回调通知
  12. 如何批量将 Excel 文档转为 Xps 格式
  13. vue接入腾讯防水墙代码
  14. jenkins 怎么配置阿里企业邮箱进行email发送
  15. 4g 控矿驱动 迪兰rx574_主流显卡之争 574/1065战怪猎:世界
  16. 机器学习——SVM(支持向量机)与人脸识别
  17. 排序-JAVA实现【四】堆排序
  18. 手持式频谱分析仪 TFN的715c和760c怎么样
  19. 硬件电路设计之升压/降压电路
  20. docker安装bind

热门文章

  1. 准备重新回归信息安全产业
  2. subst命令镜像虚拟磁盘指南(原创)
  3. pom.xml报错:Failure to find org.apache.maven.doxia:doxia-logging-api:jar:1.1 in http://repo.
  4. .NET Core整合log4net以及全局异常捕获实现2
  5. 关于数据精度的一些事
  6. 汇编学习笔记(4)-伪指令(MASM)
  7. 【Java NIO】一文了解NIO
  8. python玩转大数据视频[非原创视频]
  9. POJ 2808 校门外的树
  10. C#后台调用前台javascript的五种方法