首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

字符串补位有关问题

2012-06-09 
字符串补位问题比如我有个字符串 string aabcd5de,刚好是奇数但是我现在需要的一个方法里 这个字符串必

字符串补位问题
比如我有个字符串 string a="abcd5de",刚好是奇数 但是我现在需要的一个方法里 这个字符串必须是偶数
if ((a.Length % 2) != 0) a+= " "; 我是这么想的 但是 貌似 计算的时候 还是当成奇数

我的整个方法 如下

public byte[] strToHexByte(string hexString)
  {
  hexString = "abcd5de";
  if ((hexString.Length % 2) != 0)
  hexString += " ";
  byte[] returnBytes = new byte[hexString.Length / 2];
  for (int i = 0; i < returnBytes.Length; i++)
  returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2),16);
  return returnBytes;
  }

[解决办法]
是string.Format吧?传进strToHexByte方法之后都会是一个确定的字符串,不可能有占位符的了,你试试补0吧,应该没问题的。
或者你就什么都不补了,最后一位没有的话就只取一位吧,这样

C# code
public static byte[] strToHexByte(string hexString){    hexString = "abcd5d0e";    byte[] returnBytes = new byte[(int)Math.Ceiling(hexString.Length / 2.0)];    for (int i = 0; i < returnBytes.Length; i++)        returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, (i * 2 == hexString.Length - 1) ? 1 : 2), 16);    return returnBytes;} 

热点排行