public byte[] StrTranBuf()
{
string srcFrame = "fe dc ba 98 76 54 32 10"; //源字符串
string[] strBuf; //中间交换的临时字符串
byte[] m_FrameBuf; //由字符串转化过的字符串报文 strBuf = srcFrame.Split(new char[] { ' ' });
m_FrameBuf = new byte[strBuf.GetLength(0)];
for (int i = 0; i < strBuf.GetLength(0); i++)
{
strBuf[i] = "0x" + strBuf[i];
m_FrameBuf[i] = System.Convert.ToByte(strBuf[i], 16);
} return m_FrameBuf;
}
我是一个C#新手,原来写过一点VB6.0的程序
上面的函数的功能是想将字符串"fe dc ba 98 76 54 32 10"转换为"0xfe 0xdc 0xba 0x98 0x76 0x54 0x32 0x10"的byte数组
功能虽然是实现了
但感觉代码实现的很差,感觉很VB,呵呵
所以请高手指导一下
帮我代码改一改,能不能尽量用C#常用的方法实现该功能
谢谢了
解决方案 »
- 规则推导
- winform 编程问题 文本框中输入矩阵
- .net 能开发魔兽世界插件吗?
- — 面向对象原则:多组合,少继承;低耦合,高内聚。
- 请教哪些教材里有关于WebBrowser的大篇幅介绍
- BindingSource的作用是什么呢?datagridview可以直接与 datatable绑定呀,为何还需要 BindingSource 呢?
- 继承类出错问题
- 请问做一个GridView的嵌套,为什么出错提示ORA-01036,变量名或数值无效?
- 如何解决访问数据库时的"超时时间已到。在操作完成之前超时时间已过或服务器未响应。" 错误
- c#中间的类型转换
- 用installer7.61版无法打包程序
- 求sql 语句
void Main()
{
string srcFrame = "fe dc ba 98 76 54 32 10";
byte[] m_FrameBuf= HexStringToByteArray(srcFrame);
}
private static byte[] HexStringToByteArray(string s)
{
s = s.Replace(" ", "");
byte[] buffer = new byte[s.Length / 2];
for (int i = 0; i < s.Length; i += 2)
buffer[i / 2] = (byte)Convert.ToByte(s.Substring(i, 2), 16);
return buffer;
}
void Main()
{
//.net 3.0以上可以用linq
string srcFrame = "fe dc ba 98 76 54 32 10";
byte[] m_FrameBuf=srcFrame.Split().Select(s=>Convert.ToByte(s,16)).ToArray();
}