class Program19 { static void Main(string[] args) { // true,或false Console.WriteLine("bool占用:" + sizeof(bool)); //0-255 Console.WriteLine("byte 占用:"+sizeof(byte)); //-128 到 127 Console.WriteLine("sbyte 占用:" + sizeof(sbyte)); Console.WriteLine("char 占用:" + sizeof(char)); //-79228162514264337593543950335 到 + 79228162514264337593543950335 Console.WriteLine("decimal 占用:" + sizeof(decimal)); //±5.0 × 10−324 到 ±1.7 × 10308 15-16 位 Console.WriteLine("double 占用:" + sizeof(double)); //±1.5 x 10−45 至 ±3.4 x 1038 7位 Console.WriteLine("float 占用:" + sizeof(float)); //-2,147,483,648 到 2,147,483,647 带符号的 32 位整数 Console.WriteLine("int 占用:" + sizeof(int)); //0 到 4,294,967,295 无符号的 32 位整数 Console.WriteLine("uint 占用:" + sizeof(uint)); //-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 64 位带符号整数 Console.WriteLine("long 占用:" + sizeof(long)); //0 到 18,446,744,073,709,551,615 无符号 64 位整数 Console.WriteLine("ulong 占用:" + sizeof(ulong)); //-32,768 到 32,767 有符号 16 位整数 Console.WriteLine("short 占用:" + sizeof(short)); //0 到 65,535 无符号 16 位整数 Console.WriteLine("ushort 占用:" + sizeof(ushort)); byte[] bytes = Encoding.UTF8.GetBytes("我们"); Console.WriteLine(Encoding.GetEncoding("gb2312").GetBytes("我们").Length); Console.WriteLine(bytes.Length); Console.ReadLine(); } }
string占用的字节数和编码有关系,如果是UTF8则每个汉字占用3个字节,如果是gb2312则占用2个字节