ArrayList asd=new ArrayList();
asd.Add(222);
this.Text=((byte)asd[0]).ToString();
//or this.Text=((int)asd[0]).ToString();byte[] asq=new byte[1];
asq==(byte)asd[0];这哪边有问题?
asd.Add(222);
this.Text=((byte)asd[0]).ToString();
//or this.Text=((int)asd[0]).ToString();byte[] asq=new byte[1];
asq==(byte)asd[0];这哪边有问题?
改成: asq = (byte)asd[0];后的问题是:
asq是数组, 而(byte)asd[0]不是改成asq[0] = (byte)asd[0];可通过编译, 但运行时会发生错误.改成asq[0] = byte.Parse(asd[0].ToString());即可
应该是这样
ArrayList asd=new ArrayList();
asd.Add(222);
byte[] asq=new byte[1];
asq[0]=(byte)asd[0];
为什么不能转换?(byte[])P_asd.ToArray(typeof(byte));
这样也有问题.
(byte[])asd.ToArray(typeof(byte));
这一句中的222是一个int型的变量,在取这个值的时候必须先显示转换成int,不能直接转换成byte类型,这一句
asq[0]=(byte)asd[0];
应该改成
asq[0]=(byte)(int)asd[0];也可以这样:
ArrayList asd=new ArrayList();
asd.Add((byte)222);
byte[] asq=new byte[1];
asq[0]=(byte)asd[0];
asq[0]=Convert.ToByte(asd[0]);
asd.Add(222);
int[] asq=new int[1];
asq[0]=(int)asd[0];
应该可以