转换

1.任何类型都可以转换为其基类类型,用隐式转换完成;

2.任何类型转换为其派生类型时,必须进行显示转换。采用
(类型名)对象名完成;

3.基本类型可以使用Convert类实现类型转换;

4.除了string以外的其他类型都有Parse方法,用于将字符串类型转换成对应的基本类型;

在系统中:
- 使用GetType可以取得任何对象的精确类型;
- 值类型和引用类型的转换称为装箱(boxing)或拆箱(unboxing);

C# 的is和as

is

is 关键字用于检查对象是否与给定类型兼容。注意了,这里的
is并不是“是”的意思,而是“兼容”。
也就是说,如果被检查对象能够强制转换成给定类型并不发生异常,那么表示它们类型兼容。

is 检查规则:1.检查对象类型的兼容性,并返回结果true(false);2.不会抛出异常;3.如果对象为null,返回false;

示例:

object o = "string";
if (o is string) //执行第一次类型兼容性检查
{     string s = (string)o; //执行第二次类型兼容性检查,并转换Console.WriteLine("success!");     }
else
{   Console.WriteLine("转换失败!");
}

注意:is运算符只考虑引用转换、装箱转换和 拆箱转换。不考虑其他转换,如用户定义的转换。
特别注意:虽然int和long、double是类型兼容的,但是使用is运算符的结果却是false,那是因为is运算符只考虑引用转换、装箱转换和拆箱转换。
在is运算符的左侧不允许使用匿名方法。

as 转换

as 转换规则

1.检查对象类型的兼容性,并返回转换结果,如果不兼容则返回null;作为对比,如果类型不兼容,则强制转换会抛出异常。

2.不会抛出异常;

C#中的is、as及转换相关推荐

  1. c 将图片存入到mysql数据库中_如何将图片转换存入到数据库中,并从数据库中取出转换成图片...

    有时候我们想把图片存入到数据库中,尽管这不是一种明智的选择,但有时候还是不得以会用到,下面说说将图片转换成byte[]数组存入到数据库中去,并从数据库中取出来转换成图像显示出来. 首先,我们要把图片存 ...

  2. GIS中的坐标系定义与转换

    GIS中的坐标系定义与转换 青岛海洋地质研究所 戴勤奋 2002-3-27 14:22:47 ----------------------------------------------------- ...

  3. nsdata是java什么类型_Swift中基本数据类型与NSData转换

    Swift中基本数据类型与NSData转换 最近由于程序的需要,要与JAVA的服务端进行Socket的交互,那么这就牵涉到了数据的交互.Socket的数据交互一般都是直接采用二进制Bytes的方式来传 ...

  4. python中list与array互相转换

    python中list与array互相转换 author@jason_ql  http://blog.csdn.net/lql0716 u = array([[1,2],[3,4]]) m = u.t ...

  5. C++中的四类强制转换?

    C++中的四类强制转换? 例: class ClassA { public: virtual ~ ClassA() {          }      virtual void FunctionA() ...

  6. .NET中的中文简繁体转换

    .NET中的中文简繁体转换 http://www.cnblogs.com/shinewaycn/archive/2005/07/04/186251.aspx 导入名字空间Microsoft.Visua ...

  7. GIS中的坐标系定义与转换【转】

    1. 椭球体.基准面及地图投影   GIS中的坐标系定义是GIS系统的 基础,正确定义GIS系统的坐标系非常重要.GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对 ...

  8. 7.Java中变量的隐式转换以及强类型转换

    1.变量的相加,(变量的数据类型一致),直接运算即可!          结论:         Java中变量的 隐式转换(数据类型的默认类型提升)         byte,short,char- ...

  9. vue中将md转成html,Vue/Vue中Html和Markdown互相转换/README.md · 倚栏听风/LearningNotes - Gitee.com...

    # Vue中Html和Markdown互相转换 ## 前言 最近想实现的一个功能,就是将系统中的博客进行导出成Markdown格式,后面经过了调研发现有两种方法能够满足需求,一个是Java后台中将HT ...

  10. ArcGIS中的坐标系定义与转换 (转载)

    原文:ArcGIS中的坐标系定义与转换 (转载) 1.基准面概念:  GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐 ...

最新文章

  1. 2014年度辛星解读css第四节
  2. c++线程数量的限制
  3. 纽约大学计算机和信息科学专业排名,纽约大学计算机科学与信息系统世界排名2018年最新排名第33(QS世界排名)...
  4. 关于8位AD_DA转换芯片的采样率问题
  5. 今天网站都变成灰色了,这其中是怎么实现的?
  6. ue4插件导入导出_Blender到UE4的无缝衔接
  7. 机器学习笔记(十二)——马尔科夫模型
  8. OpenStack 集群部署工具:ProStack
  9. 微信支付之异步通知签名错误
  10. javaeye改名之后
  11. 烽火超微信息科技 服务器,智算升级 烽火超微发布新一代V6服务器
  12. 使鼠标保持按住状态_让电脑也能听、会写、还会说!小米小爱鼠标抢先体验
  13. 四道Java基础题 你能对几道?
  14. Salesforce: 关于Apexpages.Message类
  15. 微型计算机48MHz辐射超,EMI辐射测试超标 求高手指点
  16. Node开发实践总结-定时脚本的设计与实现
  17. linux如何配浏览器证书,部署国密SSL证书,如何兼容国际主流浏览器?
  18. 互联网的女性主义特征
  19. python首页展示业务逻辑_01-商品查询业务逻辑的实现
  20. LTE中语音业务时怎样实现?

热门文章

  1. Intel大坑之中的一个:丢失的SSE2 128bit/64bit 位移指令,马航MH370??
  2. 公司项目拓扑的演变过程
  3. 嵌入式Linux系统运行流程图
  4. 浅谈:ArrayList,ListT,ListObject
  5. Tomcat 总体结构
  6. Oracle10g/11g数据库性能的诊断和监控方法论
  7. python asyncio理解_深入理解asyncio(二)
  8. W ndows95安装,Windows 95的安装
  9. mysql登录错误1045修改工具_mysql登录1045错误时 修改登录密码
  10. C语言1的阶级加3的阶级,第六天学C语音(一点分支与循环+n的阶层的练习)