码迷,mamicode.com
首页 > 数据库 > 详细

C# 与数据库中字段类型 Int16(short), Int32(int), Int64(long)的取值范围、区别 。string长度

时间:2016-04-07 23:25:04      阅读:582      评论:0      收藏:0      [点我收藏+]

标签:

 

一开始看到Int16, Int32, Int64这三种类型就觉得有点怪, 为什么要整个数字结尾的, 挺怪的.

昨天互相想到, ms这么干就是想让大家一眼就知道这个数据类型占多大空间吧.

Int8, 等于byte,

Int16, 等于short, 占2个字节. -32768 32767

Int32, 等于int, 占4个字节. -2147483648 2147483647

Int64, 等于long, 占8个字节. -9223372036854775808 9223372036854775807

这样, 看起来比short,int,long更加直观些!

另外, 还有一个Byte, 它等于byte, 0 - 255.

这么说来  int8  16  32  64 就是 short int  long的别名

 

 

1. 我们用 string.Length 读取字符串长度,它是int类型,所以理论上 Int32.MaxValue 就是string.Length 能达到的最大值。
2. .NET 中单个对象占内存不得超过2GB,使用unicode编码的字符串类型每个字符占2个bytes,所以能达到的最大长度为1,073,741,823。而且这个长度在32位系统中是无法满足的。
资料内有达人本着实事求是的科学严谨态度去测试,跑到1,000,000,000后就悲剧了,所以结论是能超过1,000,000,000,但随后内存溢出。其实我也测试过了,只是没看到最多达到几位就内存溢出了…

C# 与数据库中字段类型 Int16(short), Int32(int), Int64(long)的取值范围、区别 。string长度

标签:

原文地址:http://www.cnblogs.com/xiaoshi657/p/5366091.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!