转 .net数据类型
.net 数据类型
short s=0;
s = s + 1;
和
short s=0;
s += 1;
这两个表达式有什么区别,会报什么错误?
有区别吗??大家要想想呢还是要测试一下啊,我选择测试!
经过测试:
第一个会报错:错误 1 无法将类型“int”隐式转换为“short”。存在一个显式转换(是否缺少强制转换?) E:\MVC\Test\Test\Form1.cs 40 17 Test
第二个通过编译,运行正常。
后来找到解释:
s = s + 1; 由于 1 默认是int型的,s是short的,"s+1"的结果默认是int的,把int的结果赋值给short时会报错,损失精度了,必须写成 s = (short)(s+1) 来强制转化一下
s+=1; 在编译时已经明确最后要赋值给s,即short型的,所以会在内部自动进行转换的,
自动转换一般从低的往高的转换,所以第一个会报错。
C#是基于Microsoft的.net框架的,他的基础部分就是共享的通用类型系统(CTS,Common Type System)。下面是C#和java数据类型的等价类型。
c#数据 类型 |
java数据 类型 |
运行时 类型 |
大小 (字节) |
范围 | 描述 |
bool | boolean | Boolean | n/a | true or false | 布尔值 |
byte | Byte | 1 | 0~255 | 无符号整数 | |
char | char | Char | 2 | 0x0000~0xffff | Unicode字符 |
decimal | Decimal |
-79,228,162,514,264,337,593,543,950,335~ 79,228,162,514,264,337,593,543,950,335 |
十进制数字 | ||
double | double | Double | 8 |
-1.79769313486232e308~ 1.79769313486232e308 |
双精度64位数字 |
float | float | Single | 4 | -3.402823e38~3.402823e38 | 单精度32位数字 |
int | int | Int32 | 4 | -2,147,483,648~2,147,483,647 | 有符号整数 |
long | long | Int64 | 8 |
-9,223,372,036,854,775,808~ 9,223,372,036,854,775,807 |
有符号整数 |
sbyte | byte | SByte | 1 | -128~127 | 有符号整数 |
short | short | Int16 | 2 | -32768~32767 | 有符号整数 |
unit | UInt32 | 4 | 0~4,294,967,295 | 无符号整数 | |
ulong | UInt64 | 8 | 0~184,467,440,737,095,551,615 | 无符号整数 | |
ushort | UInt16 | 2 | 0~65535 | 无符号整数 |
在c#中,所有书类型也都是System的一部分,可以在其中引用。如bool可以引用为System.Boolean
转自 无恨星晨
转 .net数据类型的更多相关文章
- JavaScript 中的数据类型
Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
- Python高手之路【二】python基本数据类型
一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值 ...
- UniqueIdentifier 数据类型 和 GUID 生成函数
UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...
- SQL Server常见数据类型介绍
数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...
- 由js apply与call方法想到的js数据类型(原始类型和引用类型)
原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...
- python 数据类型 ----字典
字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...
- SQL数据类型
1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符. varchar ...
- 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型
运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...
- 我的MYSQL学习心得(二) 数据类型宽度
我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
随机推荐
- System.Web.UI.Page事件执行顺序
#region OnPreInit 第一步(显式重写,文章下面有隐式重写) protected override void OnPreInit(EventArgs e) { //检查 IsPostBa ...
- APUE(1)----UNIX基础知识
一.UNIX体系结构 所有操作系统都为他们所运行的程序提供服务,典型的服务包括:执行新程序.打开文件.读文件.分配存储区等.严格意义上来说,操作系统可以定义为一种软件,它控制计算机硬件资源,提供程序运 ...
- Django实战之古风博客
感谢 感谢杨青 大大的古风模板,设计的很棒,给个赞. 如有侵权,请联系我 运行环境 python3.6 Django==1.11.4 django-ckeditor==5.4.0 django-js- ...
- JAVA读取控制台的输入【转】
前面介绍了使用IO类实现文件读写的示例,其实在很多地方还需要使用到IO类,这里再以读取控制台输入为例子来介绍IO类的使用. 控制台(Console)指无图形界面的程序,运行时显示或输入数据的位置,前面 ...
- C#截取验证码图片
使用Graphics类中的DrawImage方法,这个方法有30种重载方式,这里只介绍一种,也是我认为最直观的一种,代码如下: using System.Drawing; namespace kq.U ...
- Delphi XE8如何同Eclipse使用相同的Android SDK?
我的Android SDK是单独安装的:Eclipse也是最新版的,并不是谷歌提供的集成了SDK的那个Eclipse:Delphi XE8安装后,我并没有通过XE8里面下载Android SDK到XE ...
- 基于Haar特征的Adaboost级联人脸检测分类器
基于Haar特征的Adaboost级联人脸检测分类器基于Haar特征的Adaboost级联人脸检测分类器,简称haar分类器.通过这个算法的名字,我们可以看到这个算法其实包含了几个关键点:Haar特征 ...
- 多线程《四》Thread对象的其他属性和方法
Thread对象的其他属性或方法 介绍 Thread实例对象的方法 # isAlive(): 返回线程是否活动的. # getName(): 返回线程名. # setName(): 设置线程名. th ...
- Linux环境下jdk、tomcat、redis安装及配置
环境说明: linux : centOS jdk : 1.8 tomcat : 8.5 redis : 4.0 jdk安装配置 1.下载jdk(这里下载的是jdk-8u181-linux-x64.ta ...
- java 复习总结
java 复习总结 命名方法 创建文件的名称应该和类的名称一致,不然会报错. 类采用首字母大写的方式来命名,如果是多个单词的类名,则每个单词首字母都大写,例如:HelloWorld . 方法采用驼峰命 ...