将数组数据追加到字符串中

本文关键字:字符串 追加 数组 数据 | 更新日期: 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)));