如何解决错误 CS0120:非静态字段、方法或属性“Encoding.GetBytes(string)”需要对象引用
我正在使用 .NET 制作控制台应用程序,当我运行该程序时出现此错误。
error CS0120: An object reference is required for the non-static field,method,or property Encoding.GetBytes(string)
。
它说错误来自这一行:
content.Add(Encoding.GetBytes("\n"+str));
(内容是字符串类型的列表,字符串是字符串)
解决方法
在 Encoding.GetBytes Method
文档中:
public virtual byte[] GetBytes(char[] chars);
它不是静态方法,因此您不能直接调用 Encoding.GetBytes
方法。
相反,您需要声明并分配一个 Encoding
变量;然后才使用此变量调用 GetBytes
方法。
var str = "Happy ending"; // Sample data
var encoding = Encoding.UTF8; // Set to your desired encoding
var bytes = encoding.GetBytes("\n"+str); // Return type: byte[]
要将 bytes
添加到 List 的内容中,您可以先将您的 bytes
转换为所需的格式。
[不是.ToString()
,它会返回结果:"System.Byte[]"]
var byteString = String.Join(" ",bytes); // Format to your desired format
// Result of byteString: 10 72 97 112 112 121 32 101 110 100 105 110 103
content.Add(byteString);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。