private long ReadLong4(long offset)
{
long ret = 0;
ipFile.Position = offset;
ret |= (ipFile.ReadByte() & 0xFF);
ret |= ((ipFile.ReadByte() << 8) & 0xFF00);
ret |= ((ipFile.ReadByte() << 16) & 0xFF0000);
ret |= ((ipFile.ReadByte() << 24) & 0xFF000000);
return ret;
}在经符号扩展的操作数上使用了按位“或”运算符;请考虑首先强制转换为较小的无符号类型出现如上警告,请问如何改?谢谢.
ret |= (long)(ipFile.ReadByte() & (long)0xFF);
ret |= ((ipFile.ReadByte() << 8) & (long)0xFF00);
ret |= ((ipFile.ReadByte() << 16) & (long)0xFF0000);
ret |= ((ipFile.ReadByte() << 24) & (long)0xFF000000);