C#中as运算符

as运算符用于执行引用类型的显式类型转换。如果要转换的类型与指定的类型兼容,转换就会成功进行;如果类型不兼容,as运算符就会返回null值。如下面的代码所示,如果object引用实际上不引用string实例,把object引用转换为string就会返回null:

object o1="Some String";

object o2=5;

string s1=o1 as string;  //s1="Some String"

string s2=o2 as string;  //s2=null

as运算符允许在一步中进行安全的类型转换,不需要先使用is运算符测试类型,再执行转换。

获取as运算符的更多信息:

http://msdn.microsoft.com/zh-cn/library/aa664717%28v=vs.71%29.aspx

C#中as运算符,布布扣,bubuko.com

时间: 2024-08-19 04:28:18

C#中as运算符的相关文章

JS中的运算符&JS中的分支结构

一.JS中的运算符 1.算术运算(单目运算符) + 加.- 减.* 乘./ 除.% 取余.++ 自增.-- 自减 >>> +:有两种作用,连接字符串/加法运算.当+两边全为数字时,进行加法运算: 当+两边有任意一边为字符串时,起连接字符串的作用,连接之后的结果为字符串 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字 >>> /: 结果会保留小数点 >>> ++: 自增运算符,将变量在原有基础上+1: --: 自减运算符,将变量在原

Python中的运算符

如果工作中没有计算器,可以直接使用Python作为Calculator来使用.下面介绍Python中的运算符. + 加运算符,如果'+'两边都是数字,进行加法运算.如果两边都是字符串类型,进行连接操作.如果一边是数字,一边是字符串,则会报错. TypeError: unsupported operand type(s) for +: 'int' and 'str'. -  减运算符,进行减法运算. * 乘运算法,进行乘法运算. /  除运算法,进行除法运算.Python中的除法运算符解决了  1

C#中的运算符重载

C# 允许用户自定义类型通过使用 operator 关键字定义静态成员函数来重载运算符. 注意: 必须用public修饰,必须是类的静态的方法. 重载相等运算符(==)时,还必须重载不相等运算(!=). < 和 > 运算符以及 <= 和 >= 运算符也必须成对重载. 可以重载的运算符: 可以重载的一元运算符:+.-.!.~.++.--.true 和 false 可以重载的二进制运算符:+, -, *, /, %, &, |, ^, <<, >> 可以

JavaScript中“typeof”运算符与“instanceof”运算符的差异

在JavaScript中,运算符“typeof”和“instanceof”都可以用来判断数据的类型,那么这两个运算符有什么不同之处呢? 差异一:使用方式不同. 最明显的差异就是这两个运算符的使用方式了.“typeof”是一元运算符,其后直接跟需要进行类型判断的数据:而“instanceof”是二元运算符,其左侧是需要判断的数据,右侧是用于比较的类型. //typeof是一元运算符: var amount = 108; console.log(typeof amout);//控制台输出“numbe

js中的运算符和条件语句

js中的运算符大体上可以分为4类:1算术运算符.2一元操作符.3比较运算符.4逻辑运算符. 算术运算符一般指的是加减乘除求余这五种操作符:+,-,*,/,%.通过算术运算符可以对js中的变量进行操作.如: var a=100,b,c,d,e,f; b= a+10; //110 c=a-10; //90 d=a*10; //1000 e=a/10; //10 f=a%3; //1 一元操作符指的是只能操作一个值的操作符:如i++,i--,++i,--i;在这里要注意区别i++与++i: var a

c中“&gt;&gt;”与“&”运算符

在c中位运算符有:与. 或.异或.取反.左移和右移,位运算符是以二进制进行运算的.       右移运算符,是将一个数的各二进制位右移动n位,移到右端的低位被舍弃,对于无符号数,高位补0,即在十进制中,每右移动一位等价于除以2,例如:      a:10101010 01010101   a>>2:00101010 10010101.      对于有符号数,某些机器将对左边空出的部分用符号位填补但一些机器则对左边空出的部分用0填补.例如:      a:11100111 00011101 a

第九周项目1-复数类中的运算符重载(续)

在复数类中的运算符重载基础上 (1)再定义一目运算符 -,-c相当于0-c. (2)定义Complex类中的<<和>>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年05月14日 * 版本号:v1.0 */ #include <iostream> using

第九周项目2-Time类中的运算符重载(续)

在Time类中的运算符重载基础上 (1)定义对时间对象的自增和自减一目运算符 (2)定义Time类中的<<和>>运算符重载,实现时间的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年05月14日 * 版本号:v1.0 */ #include <iostream> using n

第九周项目3-分数类中的运算符重载(续)

在分数类中的运算符重载基础上 (1)定义分数的一目运算+和-,分别代表分数取正和求反,将"按位取反运算符"~重载为分数的求倒数运算. (2)定义分数类中<<和>>运算符重载,实现分数的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年05月14日 * 版本号:v1.0 *

第八周项目3-分数类中的运算符重载

实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简).比较(6种关系)的运算.可以在第4周分数类代码的基础上开始工作. /* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年04月29日 * 版本号:v1.0 */ #include <iostream> using namespace std; class CFraction { private: