记录一下在日常开发过程中遇到的一些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();

}
}

C# Keywords - as的更多相关文章

  1. 【HDU2222】Keywords Search AC自动机

    [HDU2222]Keywords Search Problem Description In the modern time, Search engine came into the life of ...

  2. 16个基本颜色关键字 Basic color keywords

    16个基本颜色关键字 Basic color keywords Color Color Name HEX RGB   black #000000 0,0,0   silver #C0C0C0 192, ...

  3. asp.net动态设置标题title 关键字keywords 描述descrtptions

    推荐的简单做法如下: protected void Page_Load(object sender, EventArgs e){//Page titlePage.Title = "This ...

  4. hdu2222 Keywords Search ac自动机

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=2222 题目: Keywords Search Time Limit: 2000/1000 MS ...

  5. HDU2222 Keywords Search

    本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...

  6. 织梦5.7 TAG、标题、栏目以及keywords长度字符数限制修改

    织梦5.7 TAG.标题.栏目以及keywords长度字符数限制修改[图文]   标签: 织梦关键词长度修改 织梦tag长度修改 织梦标题长度修改 织梦栏目长度限制修改 织梦修改 分类: 技术操作   ...

  7. HDU 2222 Keywords Search(AC自动机模版题)

    Keywords Search Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others ...

  8. HDOJ2222 Keywords Search-AC自动机

    Problem Description In the modern time, Search engine came into the life of everybody like Google, B ...

  9. 页面头部title、description、keywords标签的优化

    页面头部优化<Head></Head>中间的区域中间的区域,我们称为网页的头部.在网页的头部中,通常存放一些介绍页面内容的信息,例如页面标题.描述及关键字等等.在头部优化中,除 ...

  10. AC自动机---Keywords Search

    题目网址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=110773#problem/A Description In the moder ...

随机推荐

  1. [Offer收割]编程练习赛40

    不到一个小时AK,虽然是VP的,舒服,第一次.都简单的一比,没什么可说的. 查找三阶幻方 #pragma comment(linker, "/STACK:102400000,10240000 ...

  2. javaScript 计算两个日期的天数相差

    一:计算两个日期相差的天数 1 <html> <head> <meta http-equiv="Content-Type" content=" ...

  3. hibernate中session的get和load方法的区别和联系:

    1. get:及时加载,调用到get方法时立即向数据库查询(在没有session缓存的请况). 2. load:默认使用懒加载,当用到数据的时候才向数据库查询(在没有session缓存的请况). 3. ...

  4. MySQL-----笔记3:存储引擎

    1.存储引擎: https://zhidao.baidu.com/question/1049565846666168579.html MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技 ...

  5. Linux 内核链表 list.h 的使用

    Linux 内核链表 list.h 的使用 C 语言本身并不自带集合(Collection)工具,当我们需要把结构体(struct)实例串联起来时,就需要在结构体内声明指向下一实例的指针,构成所谓的& ...

  6. 深入理解B/S与C/S架构

    首先来介绍一下B/S与C/S架构 C/S架构简要介绍 在了解什么是B/S架构之前,我们有必要了解一下什么是C/S架构: C/S架构是第一种比较早的软件架构,主要用于局域网内.也叫 客户机/服务器模式. ...

  7. 【hihocoder 1032】最长回文子串

    [题目链接]:http://hihocoder.com/problemset/problem/1032 [题意] [题解] 原文地址:https://segmentfault.com/a/119000 ...

  8. linux_ubuntu 连接xftp

    一.修改静态ip 打开网络配置文件 :vim /etc/network/interfaces 1.添加以下配置: 注意:ubuntu 网卡名为 ens33 .多数liunx系统的网卡名为eth0. 可 ...

  9. FreeMarker 页面静态化解决方案

    一.网页的静态化方案 1.生成静态页面的时机:在做添加操作时,同时生成该新增内容的对应的静态页面 2.静态页面的名称:内容 id + ".html" 3.静态页面所在的路径:工程外 ...

  10. 线程锁的机制Lock

    java.util.concurrent.locks 接口Lock publci interface Lock Lock 实现提供了比使用synchronized方法和语句可获得的更加广泛的锁定操作, ...