Mr_LinDowsMac Mr_LinDowsMac - 2 months ago 18
C# Question

byte[] to string in C# .NET Core

I have a project which is using (I assume) .NET Core. I have a library which stores securely key-pair values. The key is string and the value should be a byte[], so I have to convert the string that I want to store as byte[]:

bytes[] my_bytes = Encoding.Unicode.GetBytes(txtSomeInfo.Text)

The problem is when i retrieve the value, because is an byte[] array i should convert it back to string like this:

my_string = Encoding.Unicode.GetString(my_bytes)

I found it some answers in Stack Overflow, but... I can't use it just like that because this version of GetString method of System.Text.Encoding is asking for two additional parameters:
int index, and int count

How can I get my string back?

Lee Lee
my_string = Encoding.Unicode.GetString(my_bytes, 0, my_bytes.Length);

As Jon points out in the comments, the C# naming standards use camelCase for local variables so you should rename my_bytes and my_string to myBytes and myString respectively.