我有一个字节数组,其中一些数据存储在特定的索引中,我想把这些数据赋给标签,但是我目前的代码看起来很乱,我想用枚举来增加代码的可读性,但是问题是当我们用枚举作为数组索引时,我们需要把它们转换成整数,就像这样:* *[(int)enum. blabla]**。这会导致代码重复,而且看起来很糟糕。有没有办法把代码写得更干净?有人能帮我吗?
示例代码:
enum CarSpeeds
{
CarBlue = 1,
CarRed = 2,
CarYellow = 3
}
byte[] myByte = new byte[size];
LabelCarBlueSpeed.Text = myByte[(int)CarSpeeds.CarBlue] + " km/h";
LabelCarBlueSpeed.Text = myByte[(int)CarSpeeds.CarRed] + " km/h";
LabelCarBlueSpeed.Text = myByte[(int)CarSpeeds.CarRed] + " km/h";
我们可以使用myByte[(int)CarSpeeds.CarRed]
,但必须使用**(int)**myByte[CarSpeeds.CarRed] + " km/h";
- 编辑**:上一个例子中使用的"CarSpeeds"枚举只是为了便于说明和理解。我自己并不特别喜欢数组,但由于我从PLC读取数据,我需要使用字节数组(缓冲区)。我的目的是让我的代码更可读,仅此而已。
2条答案
按热度按时间uajslkp61#
请注意,枚举可以使用 * 任意 * 值,例如
这就是为什么 array 不是最好的集合,你可以试试 dictionary(键类型为
CarSpeeds
):yeotifhr2#
更新一个类怎么样?
**更新:**从注解来看,它听起来更像是在解析数据缓冲区