我需要一个正好有X字节的小数据类型.
要将其存档,我基本上有两种方法:
- 我可以定义一个容量为X的byte[]数组
- 我可以组合一些内置的数字类型来归档我需要的字节数,例如,对于X=12:
- 我可以使用3个整数
- 我可以用一个长的和一个短的
- 我可以使用12字节的字段
- 我可以...
我已经看到很多 struct 中使用了Guid或MongoDb's ObjectId个具体的字段,即使它们或多或少只是一个纯字节array.
public struct XY
{
private readonly int _a;
private readonly int _b;
private readonly int _c;
}
v.v.
public struct XY
{
private readonly byte[] bytes = new byte[12]; // probably set via ctor
}
这是否提供了任何显著的好处(除了可用性)?
或者换一种说法:在 struct 中使用字节数组是个坏主意吗?