在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中文網其他相關文章!