申明:这里的orientation是枚举的类型名称,enum orientation:byte{....} ,orientation myDirection
书上说:如果要将byte类型转换为orientation,也同样需要进行显示转换。例如,可以使用下述代码将byte变量myByte转换为orientation,并将这个值赋给myDirection: myDirection=(orientation)myByte;当然,这里必须小心,因为并不是所有byte类型变量的值都可以映射为已定义的orientation值。orientation类型可以存储其他byte值,所以这么做不会直接产生一个错误,但会在应用程序的后面违反逻辑。
请问这段话里什么叫因为并不是所有byte类型变量的值都可以映射为已定义的orientation值。它这个orientation值是不是指的是比如
enum orientation:byte
{
north=1,
south=2,
.
.
}
比如orientation.south <--这个值?
还有就是这段话:orientation类型可以存储其他byte值,所以这么做不会直接产生一个错误,但会在应用程序的后面违反逻辑。什么叫但会在应用程序的后面违反逻辑?给我解释一下好吗?是不是指的是orientation.north,orientation.south的值?
------解决思路----------------------
因为并不是所有byte类型变量的值都可以映射为已定义的orientation值。
如果你的枚举里面没有定义这个值,以后用的时候可能会在逻辑上出错
比如你写的例子
myDirection2=(orientation)2;
myDirection2就是有效的。
myDirection3=(orientation)3;
myDirection2就不是有效的。