日期:2014-05-17  浏览次数:21096 次

如何将list〈byte〉型的变量中的数值以16进制的数据类型传给一个字符串?
我有个list<byte>类型的变量lbyte,我想从lbyte中的第108位开始获取四位数据,并倒序传给一个字符串。我现在是这样写的
string ss = "";            
for (int i=108; i < 112; i++)            
{               
ss += lbyte[i].ToString()            
}
但得到的是10进制数据,我想得到的是两位16进制的数据,而且也不是从后往前的传递,有人知道怎么实现这个功能吗? 
------最佳解决方案--------------------

string ss = "";            
for (int i=111; i >= 108; i--)            
{               
ss += String.Format("{0:X}",lbyte[i]);         
}

------其他解决方案--------------------
string ss = "";            
 for (int i=108; i < 112; i++)            
 {               
 ss += lbyte[i].ToString("X2")            
 }

------其他解决方案--------------------
 var ary = ilist.Skip(108).Take(4).Select(t => Convert.ToString(t, 16)).ToArray();
           
------其他解决方案--------------------
 var str= string.Join("", ilist.Skip(108).Take(4).Select(t => Convert.ToString(t, 16)).ToArray());
           
------其他解决方案--------------------
我的是VS2005,没人var这个类型.
------其他解决方案--------------------
引用:
C# code
?



123456

string ss = "";             for (int i=111; i >= 108; i--)             {                ss += String.Format("{0:X}",lbyte[i]);          }


正常的数据应该是00000001,但是现在接收的数据为0001,这个怎么处理?