有一段程序代码主要是高低位的位置调换~我是在Form1.cs这样写的
FileStream AddStream = new FileStream(ExePath + "BinaryMergerSonicData.BIN", FileMode.Create);
BinaryWriter AddWriter = new BinaryWriter(AddStream); HLbyte = (int)TempStream.Length;
HLbyte = HLbyte >> 24;
AddWriter.Write((byte)HLbyte);
HLbyte = (int)TempStream.Length;
HLbyte = HLbyte >> 16;
AddWriter.Write((byte)HLbyte);
HLbyte = (int)TempStream.Length;
HLbyte = HLbyte >> 8;
AddWriter.Write((byte)HLbyte);
HLbyte = (int)TempStream.Length;
HLbyte = HLbyte >> 0;
AddWriter.Write((byte)HLbyte);因为使用的频率很高,想写到Class 类~ 但是好像都不正确??有问题 public static string HLbyte(int inval)
{
string temp = ""; int val = 0;
val = inval;
val = val >> 24;
temp = temp +(byte) val;
val = inval;
val = val >> 16;
temp = temp + (byte)val;
val = inval;
val = val >> 8;
temp = temp + (byte)val;
val = inval;
val = val >> 0;
temp = temp + (byte)val;
return temp;
}
// return 后要能给Form1.cs AddWriter.Write写入
FileStream AddStream = new FileStream(ExePath + "BinaryMergerSonicData.BIN", FileMode.Create);
BinaryWriter AddWriter = new BinaryWriter(AddStream); HLbyte = (int)TempStream.Length;
HLbyte = HLbyte >> 24;
AddWriter.Write((byte)HLbyte);
HLbyte = (int)TempStream.Length;
HLbyte = HLbyte >> 16;
AddWriter.Write((byte)HLbyte);
HLbyte = (int)TempStream.Length;
HLbyte = HLbyte >> 8;
AddWriter.Write((byte)HLbyte);
HLbyte = (int)TempStream.Length;
HLbyte = HLbyte >> 0;
AddWriter.Write((byte)HLbyte);因为使用的频率很高,想写到Class 类~ 但是好像都不正确??有问题 public static string HLbyte(int inval)
{
string temp = ""; int val = 0;
val = inval;
val = val >> 24;
temp = temp +(byte) val;
val = inval;
val = val >> 16;
temp = temp + (byte)val;
val = inval;
val = val >> 8;
temp = temp + (byte)val;
val = inval;
val = val >> 0;
temp = temp + (byte)val;
return temp;
}
// return 后要能给Form1.cs AddWriter.Write写入
解决方案 »
- 关于c#窗体的按照分辨率缩放的问题
- Micro Mobile Socket支持UDP吗?
- 文件读取和处理!!!!
- C# WinForm 如何实现上一页下一页的效果
- 急需学.net2003
- 如何在动态表格单元格里的超连接
- 在Winform中怎样让datagrid显示最后一条记录啊?
- [真心求问]小弟刚接触C#不久,最近遇到了一点问题,关于C#中使用Win32API的问题,请大侠赐教
- 这是什么原因引起的呀?
- 无法打开web项目bbs
- //我这里定义一个Dictionary,并添加数据 Dictionary<string,string[]> dicData=new Dictionary<str
- 关于一个写入数据的问题...
AddWriter.Write(New_Hlbyte(TempStream.Length));
{
//你的方法放这里
public static string HLbyte(int inval)
{
string temp = ""; int val = 0;
val = inval;
val = val >> 24;
temp = temp +(byte) val;
val = inval;
val = val >> 16;
temp = temp + (byte)val;
val = inval;
val = val >> 8;
temp = temp + (byte)val;
val = inval;
val = val >> 0;
temp = temp + (byte)val;
return temp;
}
}
string str = TestClass.HLbyte(param)
一般C#写入到文件时会是 D4C3B2A1 这样写入的!
我用 “>>” 位移的方式能够达到 A1B2C3D4 的方式写入。
但是因为使用的次数频繁,程序代码会一堆重复的代码,不好阅读!
所以想能不能额外写个方法来简化。string ExePath = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
FileStream AddStream = new FileStream(ExePath + "SonicData.BIN", FileMode.Create);
BinaryWriter AddWriter = new BinaryWriter(AddStream);
AddWriter.Write(2712847316); //16进位=A1B2C3D4
AddWriter.Close();
ArrayList arrl = new ArrayList();
arrl.Reverse()
反转
public static BinaryWriter GetHLbyte(FileStream FS)
{
BinaryWriter AddWriter = new BinaryWriter(FS);
int FSbyte = (int)FS.Length;
byte HLbyte = (byte)(FSbyte >> 24);
AddWriter.Write(HLbyte);
HLbyte = (byte)(FSbyte >> 16);
AddWriter.Write(HLbyte);
HLbyte = (byte)(FSbyte >> 8);
AddWriter.Write(HLbyte);
HLbyte = (byte)(FSbyte >> 0);
AddWriter.Write(HLbyte);
return AddWriter;
}
public static BinaryWriter GetHLbyte(int FileLength, FileStream OutFS)
{
BinaryWriter AddWriter = new BinaryWriter(OutFS);
byte HLbyte = (byte)(FileLength >> 24);
AddWriter.Write(HLbyte);
HLbyte = (byte)(FileLength >> 16);
AddWriter.Write(HLbyte);
HLbyte = (byte)(FileLength >> 8);
AddWriter.Write(HLbyte);
HLbyte = (byte)(FileLength >> 0);
AddWriter.Write(HLbyte);
return AddWriter;
}
public void GetHLbyte(uint FileLength, FileStream OutFS)
{
BinaryWriter AddWriter = new BinaryWriter(OutFS);
byte HLbyte = (byte)(FileLength >> 24);
AddWriter.Write(HLbyte);
HLbyte = (byte)(FileLength >> 16);
AddWriter.Write(HLbyte);
HLbyte = (byte)(FileLength >> 8);
AddWriter.Write(HLbyte);
HLbyte = (byte)(FileLength >> 0);
AddWriter.Write(HLbyte);
//return AddWriter;
}