在C#中将字符串转换为字节数组
在C#中尝试将字符串转换为字节数组时,可能会遇到语法问题。让我们探讨一个具体的案例及其解决方案。
问题:
尝试将VB对象的属性值转换为C#字节数组会导致错误:
<code>Argument 1: cannot convert from 'object' to 'byte[]'</code>
解决方案:
要成功转换属性值,您需要知道原始转换中使用的编码。例如:
<code class="language-csharp">byte[] bytes = System.Text.Encoding.ASCII.GetBytes(originalString); string encodedString = System.Text.Encoding.ASCII.GetString(bytes);</code>
如果您不知道使用的编码,可以检查继承的代码以寻找线索。System.Text.Encoding
类提供各种编码,包括ASCII、UTF8、Unicode和UTF32。有关完整列表,请参阅文档。
请注意,您提供的代码:
<code class="language-csharp">string User = Encoding.UTF8.GetString("user", 0);</code>
是错误的,因为它试图在没有任何实际数据要转换的情况下将字符串转换为字节数组。在提供的VB语句中,searchResult.Properties["user"][0]
是一个包含字节数组的对象,需要适当地访问和转换它。
以上是如何正确地将 VB.NET 对象的字符串属性转换为 C# 字节数组?的详细内容。更多信息请关注PHP中文网其他相关文章!