当前位置: 首页 > news >正文

新冠疫情最新数据常州网站优化

新冠疫情最新数据,常州网站优化,枪战网页游戏在线玩,wordpress 近期评论【C#】通用类型转换 自动类型转换(隐式类型转换)强制类型转换(显式类型转换)通过函数进行转换(通过方法进行类型转换)使用 as 操作符转换通用类型转换方法实现 数据类型转换就是将数据(变量、数…

【C#】通用类型转换

  • 自动类型转换(隐式类型转换)
  • 强制类型转换(显式类型转换)
  • 通过函数进行转换(通过方法进行类型转换)
  • 使用 as 操作符转换
  • 通用类型转换方法实现

数据类型转换就是将数据(变量、数值、表达式的结果等)从一种类型转换为另一种类型。

自动类型转换(隐式类型转换)

自动类型转换就是编译器默默地、隐式地、偷偷地进行的数据类型转换,这种转换不需要程序员干预,会自动发生。

例如:

int i = 100;
double d = i; 

敲黑板:

  1. 转换前后的类型必须相兼容 例如:int和double
  2. 隐式数值转换实际上就是从低精度的数值类型到高精度的数值类型的转换,即小的类型转大的类型

强制类型转换(显式类型转换)

与自动转换正好相反,强制转换需要用户明确地指定转换的类型。显式转换包括所有的隐式转换,也就是说把任何系统允许的隐式转换写成显式转换的形式都是允许的
例如:

double d = 100.00;
int i = (int)d;

敲黑板:

  1. 显式转换可能会导致错误。进行这种转换时编译器将对转换进行溢出检测。如果有溢出说明转换失败,就表明源类型不是一个合法的目标类型。无法进行类型转换。
  2. 强制类型转换会造成数据精度丢失。

通过函数进行转换(通过方法进行类型转换)

函数转换,顾名思义通过编写类型处理方法的形式达到转换类型的目的。

int i;
string str = "100";
i = int.Parse(str);
int.TryParse(str, out i); // 推荐使用,对比 int.Parse(str) 多了异常处理增强了代码的健壮性
  • 常用类型转换方法
方法说明
ToStringC# 基类型是 Object 所以所有的类型都有 ToString()。转字符串类型
Convert.ToChar转换为字符型(char)
Convert.ToString转换为字符串型(string)
Convert.ToDateTime转换为日期型(datetime)
Convert.ToDouble转换为双精度浮点型(double)
Conert.ToSingle转换为单精度浮点型(float)
Convert.ToBase64CharArray将数组中的项进行 Base64 编码
Convert.ToBase64String将字符串进行 Base64 编码
Convert.ToBoolean转换为布尔类型(bool)
Convert.ToDecimal转换为等效的十进制数
Convert.ToSByte转换为 8 位带符号整数
Convert.ToInt32转换为 32 位带符号整数
Convert.ToInt16转换为 16 位带符号整数
Convert.ToInt64转换为 64 位带符号整数
Convert.ToByte转换为 8 位无符号整数
Convert.ToUInt16转换为 16 位无符号整数
Convert.ToUInt32转换为 32 位无符号整数
Convert.ToUInt64转换为 64 位无符号整数

使用 as 操作符转换

使用 as 操作符具有 高效安全 的特点:
  as 操作符不会做过的转换操作,当需要转化对象的类型属于转换目标类型或者转换目标类型的派生类型时,那么此转换操作才能成功,而且并不产生新的对象当不成功的时候,会返回 null
  当用 as 操作符进行类型转换的时候,首先判断当前对象的类型,当类型满足要求后才进行转换,而传统的类型转换方式,是用当前对象直接去转换,而且为了保护转换成功,要手动加上try-catch,所以相对来说,as 效率高。

敲黑板:

  1. as 转换不成功会返回 null 因此在无法确定转换结果的情况下一定一定要进行判空。
  2. as 也有一定的限制:
    • 不用在类型之间进行类型转化
    • 不能应用在值类型数据 - 只支持引用类型

通用类型转换方法实现

通用类型转换方法本质还是方法进行类型转换的方式,确切来说是 Convert 的形式。
不同于现有的转换方法有固定的类型,通用型是通过 泛型 约束来定义目标转换类型。并且使用扩展方法的形式是的调用起来非常的容易,且可以进行链式编程。

public static class Extensions
{public static T Parse<T>(this object value, T defaultValue = default){var type = typeof(T);try{var nullableType = Nullable.GetUnderlyingType(type);if (nullableType is null)return (T)Convert.ChangeType(value, type);return (T)Convert.ChangeType(value, nullableType);}catch{return defaultValue;}}
}

备注

  • 还可以通过继承接口 IConventible 或者 TypeConventer 类,从而实现自己的转换。
http://www.yidumall.com/news/45158.html

相关文章:

  • 网站设计需要在哪方面提升html网页模板
  • 那个网站做精防手机无锡百度竞价推广
  • 广东省造价工程信息网贵阳百度快照优化排名
  • 网站维护总结百度上免费创建网站
  • 九江做网站的公司哪里好营销课程培训
  • 网站图片加载顺序b2b关键词排名工具
  • 佛山小企业网站建设百度博客收录提交入口
  • wordpress怎么更改样式搜索引擎关键词排名优化
  • 对网站备案的认识品牌推广经典案例
  • 网站开源源码创建网站步骤
  • 电商网站wordpress免费代理上网网站
  • 苏州园区做网站公司银川网页设计公司
  • wordpress课程报名杭州seo
  • 做彩票网站被捉将受到什么惩罚护肤品软文推广
  • wap网站用什么服务器百度竞价seo排名
  • 建网站方案书站长工具端口
  • 网站建设课程设计总结市场调研表模板
  • 视频直播点播网站建设微信搜索seo优化
  • wordpress 伪静态html网站优化排名提升
  • 网站怎么做播放器厦门关键词优化seo
  • 东莞网站建设网站推广价钱seo推广优化外包公司
  • 怎么做网站里的悬浮窗口百度爱采购推广效果怎么样?
  • 购物网站建设免费个人网站申请
  • 网站标准尺寸石家庄疫情最新情况
  • 广东专业网站客服软件定制今天的新闻主要内容
  • 做系统和做网站哪个简单一些推广赚钱的软件
  • no.7极简wordpress博客主题深圳seo专家
  • 民权做网站哪家好企业网站制作要求
  • 九龙坡网站建设最好的小说网站排名
  • 香山网站建设广州网站优化多少钱