C#类型介绍与运算注意事项
来源:互联网 发布:java面试题2016 编辑:程序博客网 时间:2024/05/18 03:17
C#的类型大概分为2种,1种是值类型,1种是引用类型,这里是大概分的,不是详细分的。
值类型(value types):
a、值类型的变量直接包含它们的数据;
b、每个变量拥有自己的副本,所以对其操作不会影响另一个(except ref 和 out 参数变量)。
类型类别范围大小类型后缀.NET Framework 类型boolBooleantrue || false byte无符号、数值、整数0 ~ 255无符号 8 位整数 System.Bytechar无符号、数值、整数U+0000 ~ U+ffff16 位 Unicode 字符 System.Chardecimal数值、十进制±1.0 × 10-28 ~ ±7.9 × 102828 到 29 位有效位M 或 mSystem.Decimaldouble数值、浮点±5.0 × 10-324 ~ ±1.7 × 1030815 到 16 位(精度)D 或 dSystem.DoubleenumEnumerationbyte、sbyte、short、ushort、int、uint、long或 ulong float数值、浮点±1.5 × 10-45 ~ ±3.4 × 10387 位(精度)F 或 fSystem.Singleint有符号、数值、整数-2,147,483,648 ~ 2,147,483,647有符号 32 位整数 System.Int32long有符号、数值、整数-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807有符号 64 位整数L 或 lSystem.Int64sbyte有符号、数值、整数-128 ~ 127有符号 8 位整数 System.SByteshort有符号、数值、整数-32,768 ~ 32,767有符号 16 位整数 System.Int16struct用户定义的结构构造函数、常量、字段、方法、属性、索引器、运算符、事件和嵌套类型 uint无符号、数值、整数0 ~ 4,294,967,295无符号 32 位整数U 或 uSystem.UInt32ulong无符号、数值、整数0 ~ 18,446,744,073,709,551,615无符号 64 位整数UL 或 ulSystem.UInt64ushort无符号、数值、整数0 ~ 65,535无符号 16 位整数 System.UInt16
引用类型(reference typeset):
a、引用类型的变量保存的是它们对数据的引用,也成为对象;
b、两个变量完全可能引用同一个对象,所以对一个变量的操作会影响另一个引用此对象的变量。
1、class
2、委托
3、dynamic
4、接口
5、object
6、string
类型之间的运算细节:
这里首先要说的就是这个相同类型的运算,例如long/long,int/int等得出的结果是整数,那是因为得出的结果是数学值的舍尾取整(不是四舍五入),如果要得出有尾数的结果必须将一个其中一个数转为float或者double来操作才能得到想要的结果,例如:
int i=1;int k =2;double result = (double)i/(double)k
其他的转化的也大同小异,在这里就不一一的去试了。
PS:在转化数据的时候主要注意的是转化的两个数据的精度和范围(上面的表有),例如float转string或者double转float时精度会降低,大范围转小范围,小范围转大范围精度不同等这些都是要注意的;
Ps:在计算金额,或者计算精度或者转化类型的时候,建议用decimal类型来操作,这样可以精确自己要的尾数,不容易出错。
强类型转换和Convert转换的区别;
0 0
- C#类型介绍与运算注意事项
- 常用PHP运算类型介绍与应用
- c# 变量、运算符与类型转换
- C#的WebBrowser的操作与注意事项介绍
- c# 中的可空类型与空接合运算
- C#中的AS、IS运算符与强制类型转换
- C#学习记录 运算符与类型的强制转换
- C#基础知识之类型转换与运算符
- c#运算符介绍
- C#中byte类型运算
- C#中的位运算介绍
- C#字节数组与值类型变量的互相转换,以及注意事项
- C# 使用DateTimePicker与数据库中类型为datetime的数据作比较的一些注意事项
- C#字节数组与值类型变量的互相转换,以及注意事项
- C#值类型构造函数注意事项
- php学习笔记(4):常用PHP运算类型介绍与应用:
- 运算符与类型转换
- 类型、运算符与表达式
- Python学习22:列表解析(列表综合深入)
- 差异的最简单
- P168e 3.5英寸触摸屏中国移动手机
- 如何快速构建基于Spring4.0的Rest API(攻略)
- 巧用.udl文件检查数据库连接可获得连接串
- C#类型介绍与运算注意事项
- 使用static关键字
- bzoj1638 [Usaco2007 Mar]Cow Traffic 奶牛交通
- LG的Optimus L5 II双SIM卡简短评论
- 使用 Spring 3 来创建 RESTful Web Services
- 产品需求文档(PRD)的写作方法
- POJ 3737 UmBasketella(三分)
- Maquiladorasimmex合规性 - 法律和法规
- LG GD9103克手表手机一个最小的在合同交易