Int取值范圍:
一開始看到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的別名
String 長度:
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,但隨后內存溢出。其實我也測試過了,只是沒看到最多達到幾位就內存溢出了…