c# – 使用Take()从字节数组中获取字节,在Take()之后转换回byte []时遇到问题

c# – 使用Take()从字节数组中获取字节,在Take()之后转换回byte []时遇到问题,第1张

概述byte[] result = memStream.ToArray(); memStream.Close();byte[] temp = result.Take(255);var str = System.Text.Encoding.Default.GetString(temp); 以上结果失败.采取(255);线.它说我无法将IEn
byte[] result = memStream.ToArray();                              memStream.Close();byte[] temp = result.Take(255);var str = System.Text.EnCoding.Default.GetString(temp);

以上结果失败.采取(255);线.它说我无法将IEnumerable转换为byte [],并询问我是否错过了强制转换.

我是C#的新手,不确定该怎么做.

解决方法 Take()返回枚举时执行的枚举器对象:

这不是一个数组,因此您无法将其分配给对字节数组的引用.但是,使用liNQ,您可以通过调用其ToArray()方法获取任何序列并将其转换为适当类型的数组:

byte[] temp = result.Take(255).ToArray();

ToArray()枚举Take(255)的结果,将结果放入一个新数组,然后返回数组.

这有点令人困惑,因为你可以枚举一个数组,就像你可以枚举你从Take(255)得到的东西 – 但你可以枚举很多东西.这只是他们共同的一种行为,但它们实际上是非常不同的对象.

您可以将其中任何一个分配给IEnumerable< byte>:

IEnumerable<byte> a = result.Take(255);IEnumerable<byte> b = result.Take(255).ToArray();

……因为这是他们真正有共同点的一件事.

总结

以上是内存溢出为你收集整理的c# – 使用Take()从字节数组中获取字节,在Take()之后转换回byte []时遇到问题全部内容,希望文章能够帮你解决c# – 使用Take()从字节数组中获取字节,在Take()之后转换回byte []时遇到问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1220136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存