如何改变IEnumerable字符串

本文关键字:byte 字符串 IEnumerable 何改变 改变 | 更新日期: 2023-09-27 17:53:02

我有以下简化函数:

private IEnumerable<byte> Encode(IEnumerable<byte> Input)
{
   computation();
   return result;
}
缓冲:

 byte[] BufferHex = {0x00};
 IEnumerable<byte> result1;
 richtext.AppendText(Encoding.UTF8.GetString(result1));

最后一行错误提示:不能将IEnumerable转换为byte[]。

我已经尝试了几件事,但仍然没有成功。

如何改变IEnumerable<byte>字符串

因为它说它期待一个byte[]作为参数,所以你需要将你的IEnumerable<byte>转换为byte[],你可以使用ToArray扩展方法:

richtext.AppendText(Encoding.UTF8.GetString(result1.ToArray()));

Encoding.UTF8.GetString()期望的参数类型是byte[],而不是IEnumerable<byte>。所以把这行改成

richtext.AppendText(Encoding.UTF8.GetString(result1.ToArray()));

ToArray()是一个LINQ扩展,可以将IEnumerable<T>转换为T[]

我不知道这是否适合您的情况,但您可以使用Convert.ToBase64String(byte[] bytes),不要忘记调用ToArray(),在您的可枚举