is和as运算符:
is是判断是否是某个类型,返回true或false
o as Ren; 如果转换成功了,没问题;as 是用来转换
如果没转换成功,不会报出错误,而是返回一个null值

实例化一个集合,将里面放进一个自己写的类的方法:

此写法是错误写法,只是在这里举例一下is和as的用意及用法(借用了做接口时的项目代码,主要部分在下面遍历集合)

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text; namespace 接口
{
class Program
{
static void Main(string[] args)
{
ArrayList arr = new ArrayList();//实例化一个集合 //实例化一下ren就可以使用到所有类的方法
ren sc = new ren(); Random ran = new Random(); arr.Add(sc);//将类里面自己写的方法放进集合
arr.Add(ran); foreach (object o in arr) //打印一下这个集合,因为不知道ren里面的数据类型,需要转换
{
if (o is ren) //判断如果o是ren这个类型,这里用到is,判断是不是,返回true或false
{
ren scc = o as ren;//将o转换为ren这个类型,这里用到as转换,如果转换失败,会返回一个null,空值
} //防止程序崩溃,如果用其他类型强转容易导致程序崩溃
}
Console.ReadLine();
}
}
}

is 和 as 运算符的更多相关文章

  1. shell运算符

    原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用. expr 是一款表达式计算工具,使用它能完成表达式的求值操作. #!/bin/bash v ...

  2. SQL Server-聚焦APPLY运算符(二十七)

    前言 其实有些新的特性在SQL Server早就已经出现过,但是若非系统的去学习数据库你会发现在实际项目中别人的SQL其实是比较复杂的,其实利用新的SQL Server语法会更加方便和简洁,从本节开始 ...

  3. java中的移位运算符:<<,>>,>>>总结

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  4. 我的MYSQL学习心得(五) 运算符

    我的MYSQL学习心得(五) 运算符 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  5. .NET 基础 一步步 一幕幕[运算符、占位符、转义符]

      运算符.占位符.转义符 好吧,在五局全胜之后,终于升到了三个钻,距离一个星星还有一大段距离,忽然想起来今天的博客还没写,果断坑队友,来写博客了....感觉以后还是每天更新一篇比较好.要不晚上就该熬 ...

  6. ECMASCript2015 提案 stage-3的对象展开运算符

    看源码时看到如下的代码 export default { //通过mapActions将actions映射到methods里 methods: { ...mapActions([ 'updateSta ...

  7. JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)

    1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 ale ...

  8. JavaScript权威设计--JavaScript表达式与运算符(简要学习笔记五)

    1.3种原始表达式     1.直接量:    1.23    //数字直接量                         “hello”    //字符串直接量                 ...

  9. LINQ to SQL语句(18)之运算符转换

    运算符转换 1.AsEnumerable:将类型转换为泛型 IEnumerable 使用 AsEnumerable<TSource> 可返回类型化为泛型 IEnumerable 的参数.在 ...

  10. El表达式的关系运算符

    El表达式的关系运算符: ==  对应  eq !=   对应  ne >    对应  gt <    对应  It

随机推荐

  1. es6(8)--对象

    //对象 { //简洁表示法 let o = 1; let k = 2; let es5 = { o:o, k:k }; let es6 = { o, k }; console.log(es5); c ...

  2. mongod 安装,增删改查

    SQL - MySQL Oracel DB2 sybase MSSQLMySQL : PHP > LAMPMySQL - 关系型数据库  - 语言学习成本高user_infoid  name   ...

  3. mocha、should、supertest释义

    解释参考地址: https://itbilu.com/nodejs/npm/VyrFOe51-.html Mocha模块 Mocha是一个简单.可扩展的用于Node.js和JavaScript的单元测 ...

  4. 网易云音乐mp3外链、真实地址下载方法

    一个网易音乐外链地址长期有效,很简单的方法: 第一步打开网易云音乐,随便找到一首歌,播放,复制网址的ID, 例如:杨钰莹的心雨,网址是: http://music.163.com/#/song?id= ...

  5. 将mysql数据库数据以Excel文件的形式导出

    最近在工作中,领导让从数据库中导出一些数据并存放到Excel表格中,网上有许多教程,下面是我总结的其中俩种方法. 从数据库管理工具中导出(navicat) 在navicat导出数据导Excel中还是比 ...

  6. js中script的上下放置区别 , Dom的增删改创建

    回顾 javascript分为三部分: 1.ECMAScript5.0 es6(阮一峰) es7 es8 es6中有类的概念 声明变量 var let(es6中语法) 内置函数 Date Math.r ...

  7. C++学习基础十四——基础类型vector

    一.vector的使用 1. #include <vector> 2. 初始化的四种方法 vector<T> v1; vector<T> v2(v1); vecto ...

  8. Archlinux下vmware-workstation中安装rhel5并通过桥接模式(bridge)上网

    首先安装vmware-workstation(从aur中) $yaourt vmware-workstation 安装linux-headers $pacman -S linux-headers 然后 ...

  9. leetcode1013

    class Solution(object): def canThreePartsEqualSum(self, A: 'List[int]') -> bool: n = len(A) sums ...

  10. SpringBoot配置定时任务的两种方式

    一.导入相关的jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...