.net - 为什么 boolean 值比字符消耗更多的内存?

标签 .net memory char boolean

为什么在 .NET 框架中一个 boolean 值消耗 4 个字节,一个字符消耗 2 个字节? boolean 值应占用 1 位或至少小于 char。

最佳答案

这是内存对齐的问题。 4 字节变量的工作速度比 2 字节变量快。这就是为什么你应该使用 int 而不是 byte 或 short 作为计数器等的原因。

只有当内存比速度更重要时,才应该使用 2 字节变量。这就是为什么 char(.NET 中的 Unicode)占用两个字节而不是四个字节的原因。

关于.net - 为什么 boolean 值比字符消耗更多的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/204256/

相关文章:

c++ - 在指向非堆对象的指针上调用 delete

c - 我在哪里处理我不拥有的内存? (字符数组)

c++ - 在 C++ 中,如何查看 char 是否等于除字母以外的任何内容?

C#注释技术/注释重用

c++ - 内存区域和内存分配器有什么区别?

c# - Java 和 C# 中的字符串

ios - 为什么它是 "exc_bad_access"而不是 "run-time"或 "compile-time"错误?

c++ - SAFE[] 在这里是什么意思?

Unix/Linux 上的 C# 开发(有人用过 CoreFX 吗?)

c# - 如何找到 ResourceManager 中可用的资源文化?