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

建设银行积分兑换网站装修公司大全

建设银行积分兑换网站,装修公司大全,用什么系统程序做评测网站,学用php做网站文章目录 类型转换字符转数字GetNumericValueConvert.ToInt32隐式转换计算 字符串转数字Parse 或 TryParse 方法 字节数组转整数 as#xff0c;is强制类型转换isas 用户定义的转换 类型转换 我们简单地将值类型分为5种#xff1a;整数型#xff0c;浮点型#xff0c;布尔型… 文章目录 类型转换字符转数字GetNumericValueConvert.ToInt32隐式转换计算 字符串转数字Parse 或 TryParse 方法 字节数组转整数 asis强制类型转换isas 用户定义的转换 类型转换 我们简单地将值类型分为5种整数型浮点型布尔型字符型再加上一个本属于引用类型的字符串。 由于 C# 是在编译时静态类型化的因此变量在声明后就无法再次声明或无法分配另一种类型的值除非该类型可以隐式转换为变量的类型。 隐式转换由于这种转换始终会成功且不会导致数据丢失因此无需使用任何特殊语法。 示例包括从较小整数类型到较大整数类型的转换以及从派生类到基类的转换。 显式转换强制转换 必须使用强制转换表达式才能执行显式转换。 在转换中可能丢失信息时或在出于其他原因转换可能不成功时必须进行强制转换。 典型的示例包括从数值到精度较低或范围较小的类型的转换和从基类实例到派生类的转换。 上述2种转换就不过多赘述隐式转换和显式转换都是十分基础的 用户定义的转换用户定义的转换是使用特殊方法执行这些方法可定义为在没有基类和派生类关系的自定义类型之间启用显式转换和隐式转换。 有关详细信息请参阅用户定义转换运算符。 使用帮助程序类进行转换若要在非兼容类型如整数和 System.DateTime 对象或十六进制字符串和字节数组之间转换可使用 System.BitConverter 类、System.Convert 类和内置数值类型的 Parse 方法如 Int32.Parse。 有关详细信息请参见如何将字节数组转换为 int、如何将字符串转换为数字和如何在十六进制字符串与数值类型之间转换。 字符转数字 GetNumericValue GetNumericValue是char类型提供的方法用于将字符转换为double值的数字失败则返回-1.0 令我不解的是字符类型只能保存0~9之间的数字不可能保存浮点数不知为何返回值是double类型的。 public int a 123; char tmp; tmp a.ToString()[0]; char.GetNumericValue(tmp);// 使用char提供的GetNumericValue方法可以将char转为double的1Convert.ToInt32 Convert类型的转换存在大量重载基本可以应对所有转换情况 public int a 123; char tmp; tmp a.ToString()[0]; int b Convert.ToInt32(tmp); // 使用ToInt32会将字符1转为ASCII码49隐式转换计算 int a 123; char tmp; tmp a.ToString()[0]; int t tmp - 0; // 使用char类型进行计算最后的结果类型是整数型输出结果是ASCII码相减 // 49 - 48 1字符串转数字 字符串转数字是一种比较万能的方法因为object提供了ToString方法能够让任何值类型都转化为字符串。 Parse 或 TryParse 方法 Parse 和 TryParse 方法会忽略字符串开头和末尾的空格但所有其他字符都必须是组成合适数值类型int、long、ulong、float、decimal 等的字符。 char tmp 1; int a Int32.Parse( -105 ); // a -105,无视空格 a Int32.Parse(tmp.ToString()); // a 1 bool b Int32.TryParse(200, out a); // a 200,方法本身返回布尔值,b true错误用法 Int32.Parse( -1.05 ); //浮点型不能用整型的Parse方法应该为float.Parse或其他浮点型的Parse方法 Int32.Parse( 1 05 ); // 数字之间不能有空格 Int32.Parse( 10e1 ); // 不接受科学计数法字节数组转整数 由于一般的整数类型Int的类型是System.Int32。而一个byte代表8位所以一个Int324个字节因此如果要字节转整数一般需要四个四个地转变。 使用BitConverter类来操作字节数组 byte[] bytes { 0, 0, 0, 25 }; // 此处是根据操作系统来决定字符顺序的 // 不同计算机的字节体系不同可能高八位可能低八位 if (BitConverter.IsLittleEndian)Array.Reverse(bytes);int i BitConverter.ToInt32(bytes, 0); Console.WriteLine(int: {0}, i); // Output: int: 25asis强制类型转换 is is 运算符检查表达式结果的运行时类型是否与给定类型兼容。 is 运算符还会对照某个模式测试表达式结果。 具有类型测试 is 运算符的表达式具有以下形式 E is T E is not T其中E是返回一个值的表达式T是类型或类型参数的名称。 E 不得为匿名方法或 Lambda 表达式。 简单的来说is判断true对应四种判断 当E为T 类型时当为T的派生类子类继承类包括类和接口时。当E为T的可为空类型T?且E不为空时当E到T的转换涉及装箱拆箱时 让我们分别看看这四种对应的判断 当E为T 类型时 int a 0; if (a is int) // true {Debug.Log(a); } if (a is long) // false {Debug.Log(a); }当为T的派生类子类继承类包括类和接口时: class Parent {} interface IDonothing {} class child : Parent, IDonothing {} void Start() {child c new child();int a 0;if (c is Parent) // true{Debug.Log(0);}if (c is IDonothing) // true{Debug.Log(1);} }当E为T的可为空类型T?且E不为空时 int? a null; if (a is int) // a为int?但为空,false {Debug.Log(1); } if (a is int?) // a为int?但为空,false {Debug.Log(2); } int b 1; if (b is int) // b为int,true {Debug.Log(3); } if (b is int?) // b为int,true {Debug.Log(4); } a 1; if (a is int) // a为int?且不为空,true {Debug.Log(5); } if (a is int?) // a为int?且不为空,true {Debug.Log(6); }当E到T时涉及装箱拆箱时 object O; int a 1; O a; if (O is int) // true {Debug.Log(1); } if (O is int?) // true {Debug.Log(2); } if (a is object) // true,毕竟object是所有类的父类此时符合第二条E为T的派生类 {Debug.Log(3); }在检测类型时is类型会对E类型进行T类型转换来判断是否为T类型但不对E的本身的类型造成影响。但is类型不会考虑用户自定义的类型转换。 as as运算符将表达式结果显式转换为给定的引用或可以为null值的类型。 如果无法进行转换则as运算符返回null。 与强制转换表达式 不同as运算符永远不会引发异常。 E as T使用as运算符与下述三目运算符是一样的 E is T ? (T)(E) : (T)null使用as进行转换其中类型T必须是可为null值的类型 as 运算符仅考虑引用类型、可以为 null、装箱和取消装箱转换。 不能使用 as运算符执行用户定义的转换。 为此请使用强制转换表达式。 object o new object() as string; o 1; Debug.Log(o.GetType()); // string类型用户定义的转换 implicit operator 或 explicit operator 关键字分别用于定义隐式转换或显式转换。 定义转换的类型必须是该转换的源类型或目标类型。 可用两种类型中的任何一种类型来定义两种用户定义类型之间的转换。 using System; public readonly struct Digit {private readonly byte digit;public Digit(byte digit){if (digit 9){throw new ArgumentOutOfRangeException(nameof(digit), Digit cannot be greater than nine.);}this.digit digit;}public static implicit operator byte(Digit d) d.digit;public static explicit operator Digit(byte b) new Digit(b);public override string ToString() ${digit}; }public static class UserDefinedConversions {public static void Main(){var d new Digit(7);byte number d;Console.WriteLine(number); // output: 7Digit digit (Digit)number;Console.WriteLine(digit); // output: 7} }使用自定义类型可以定义隐式转换和显示转换但是要注意类型匹配。
http://www.hkea.cn/news/14588119/

相关文章:

  • 一个网站每年维护费用app模板下载网站模板
  • 做网站的职位叫什么问题滨州网站建设滨州
  • 上海网站备案审核时间建设部四库一平台网站
  • 苏州做网站要多少钱青岛网站建设情况
  • 机构类网站有哪些iis做网站视
  • 青海网站建设哪个最好二手车 东莞网站建设
  • 买网站送域名企业网站排名软件能优化
  • 建网站的每年有费用北京 企业展厅设计公司
  • c语言和c 哪个做网站好wordpress如何添加备案号
  • 海北公司网站建设哪家快网络技术专业就业方向
  • wordpress 响应式 框架百度网站优化方案
  • 免费手机网站建站ps软件下载手机版免费
  • 提供网站建设空间免费云电脑(可玩大型游戏)
  • 南通高端网站设计开发仿163ym源码交易平台网站源码
  • 做cpa广告网站教程客户网站加一个功能 应该怎么做
  • 微信上建微网站要钱吗驾校网上约车网站开发
  • 青岛旅游网站建设最便宜的购物网站排名
  • 电子产品东莞网站建设商城网站建设案例
  • 佛山网站制作公司住房和城乡建设岗位证书查询官网
  • 潍坊手机网站汕头seo不错
  • 怎么做企业销售网站如何在线上注册公司
  • 东莞做网站的公司有哪些互联网保险销售行为可回溯
  • 如何在百度做网站怎么用ajax做电商网站
  • 常州辉煌网络网站制作涿州市网站建设
  • 网站正在建设中 模版厂房验收 技术支持 东莞网站建设
  • 外贸自己建网站潜江资讯网招聘信息最新
  • 那些cps网站做的比较好网络培训平台有哪些
  • 网站信息服务费怎么做分录wordpress会员推广下载支付插件
  • 网站建设登录页面怎么写具有价值的网站建设
  • 网站建设必备的功能模块广告词