c# - 使用不同的数值变量类型

标签 c# variables

我还是个新手,所以请多多包涵,我的问题不是争论性的或琐碎的,而是在一些阅读过程中让我感到奇怪的。

我的假设是,当计算机运行缓慢且内存昂贵时,使用正确的变量类型比现在更有必要。现在内存变得容易了一些,人们似乎也放松了一些。例如,您到处都能看到这个示例代码:

for (int i = 0; i < length; i++)

内部? (-2,147,483,648 到 2,147,483,648)的长度?字节(0-255)不是更好的选择吗?

所以我很好奇你的意见和你认为的最佳实践,我不愿意认为这只是因为首字母缩写词“int”对初学者来说更直观......或者内存变得如此便宜以至于我们真的不需要关心这些琐碎的事情,因此我们应该只使用 long 以便我们可以确保使用的任何其他数字/类型(在合理范围内)可以自动转换?

...或者我只是因为关心这些事情而变得愚蠢?

最佳答案

Luca Bolognese 发布 this在他的博客中。

相关部分如下:

  • 只要您的值可以放入 int 中,就使用 int,即使对于永远不能放入的值也是如此 否定
  • 当您的值无法放入 int 时使用 long。
  • Byte、sbyte、short、ushort、uint 和 ulong 只能用于与 C 代码的互操作。否则他们不值得麻烦。

关于c# - 使用不同的数值变量类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2451810/

相关文章:

javascript - 将变量传递给对象方法javascript

java - 使用单例类实例作为类级别变量可以接受吗?

variables - gitlab-ci.yml中的条件变量

c# - 如何将哈希表通过管道传递给需要字典的 cmdlet?

C# 位置0处没有行

c# - AutoMoqer : Passing parameters into constructors

c# - 无法通过 Style 为 ListBox 设置 GroupStyle?

swift - 在 Swift 中,为什么分配给静态变量也会调用它的 getter

powershell - 包含双引号和单引号的Powershell变量

c# - 将 System.DateTime 转换为 Javascript DateString