【发布时间】:2012-04-30 07:24:09
【问题描述】:
给定以下枚举:
public enum Operations_PerHourType : byte
{
Holes = 1,
Pieces = 2,
Sheets = 3,
Strips = 4,
Studs = 5
}
当我运行微软代码分析工具时,它告诉我:
CA1028:Microsoft.Design:如果可能,将基础类型设为“Enums.Operations_PerHourType”System.Int32 而不是“byte”。
它永远不会有超过几个可能的值,所以我将它声明为一个字节。为什么他们会推荐使用 int32?未来可扩展性的更多价值?还是有性能提升?
【问题讨论】:
-
为什么要关心存储是字节还是整数?您尝试强制使用字节的动机是什么?
-
我没有,直到我运行了 Microsoft 代码分析工具。它建议使用 Int32。我很好奇为什么。我最初使用 byte 是因为我认为它对性能会更好。空间更小。
-
@DavidHeffernan 你为什么不关心?好奇有什么不好?
-
@MrLister 这不是重点。我试图引出的是明确指定
byte的动机。我没有写,所以我关心或不关心的东西既不在这里也不在那里。显然凯文在乎。他写了byte。我没说他不应该在乎。我没有说关心是错误的。我的评论没有通过任何判断。我只是问为什么?好奇有什么不好? -
我希望
int的性能优于byte,因为它具有更好的对齐属性