错误 CS0120:非静态字段、方法或 属性 'Encoding.GetBytes(string)' 需要对象引用
error CS0120: An object reference is required for the non-static field, method, or property '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));
(内容是字符串类型的List,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()
,它会returns结果:“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);
我正在使用 .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));
(内容是字符串类型的List,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()
,它会returns结果:“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);