将数组数据追加到字符串中
本文关键字:字符串 追加 数组 数据 | 更新日期: 2023-09-27 18:02:11
我已经写了这段代码:
int i = 0;
br.BaseStream.Position = i;
armorvalues[i] = br.ReadBytes(0x000E91D4);
string[] outbyte= new string[0x000E91D4];
for (int j=0; j < 0x000E91D4; j++)
{
outbyte[j] = Convert.ToString(String.Format("{0:X2}", armorvalues[0][j]));
}
现在,因为这是一个数组,我想对整个数据进行一些算法操作,我需要把它转换成一个字符串。我需要把它附加到一个字符串中。我该怎么办?
不知道你为什么要这样做,也许如果你能更好地解释你的需求,那就好了。但是对于你的问题:
您可以使用string.Join
:
var strValue = string.Join(" ", outbyte);
你也可以:
var strValue = string.Join(" ", armorvalues[0].Select(item => String.Format("{0:X2}", item)));
看看StringBuilder
类
StringBuilder sb = new StringBuilder(0x000E91D4*2); // length * 2 since every byte is going to be represented by 2 chars
for (int j=0; j < 0x000E91D4; j++)
{
sb.Append(Convert.ToString(String.Format("{0:X2}", armorvalues[0][j])));
}
string yourString = sb.ToString();
编辑:我不知道string.Join
过载需要一个IEnumerable,它更优雅,去Gilad Green的解决方案,或者如果你不希望值被一个空白的空间(" ")分开,只是做
string output = string.Concat(armorvalues[0].Select(item => String.Format("{0:X2}", item)));