String in Byte-Array in C# konvertieren
Beim Versuch, eine Zeichenfolge in ein Byte-Array in C# zu konvertieren, können Syntaxprobleme auftreten. Lassen Sie uns einen konkreten Fall und seine Lösung untersuchen.
Frage:
Der Versuch, den Eigenschaftswert eines VB-Objekts in ein C#-Byte-Array zu konvertieren, führt zu folgendem Fehler:
<code>Argument 1: cannot convert from 'object' to 'byte[]'</code>
Lösung:
Um einen Attributwert erfolgreich zu konvertieren, müssen Sie die bei der ursprünglichen Konvertierung verwendete Codierung kennen. Zum Beispiel:
<code class="language-csharp">byte[] bytes = System.Text.Encoding.ASCII.GetBytes(originalString); string encodedString = System.Text.Encoding.ASCII.GetString(bytes);</code>
Wenn Sie die verwendete Codierung nicht kennen, können Sie den geerbten Code auf Hinweise untersuchen. Die Klasse System.Text.Encoding
bietet verschiedene Kodierungen, darunter ASCII, UTF8, Unicode und UTF32. Eine vollständige Liste finden Sie in der Dokumentation.
Bitte beachten Sie, dass der von Ihnen angegebene Code:
ist<code class="language-csharp">string User = Encoding.UTF8.GetString("user", 0);</code>
ist falsch, da versucht wird, eine Zeichenfolge in ein Byte-Array umzuwandeln, ohne dass tatsächlich Daten konvertiert werden müssen. In der bereitgestellten VB-Anweisung ist searchResult.Properties["user"][0]
ein Objekt, das ein Byte-Array enthält, auf das zugegriffen und es entsprechend konvertiert werden muss.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich die String-Eigenschaft eines VB.NET-Objekts korrekt in ein C#-Byte-Array?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!