title: convert ASCII character array to UNICODE string
body: <p>I am calling a c dll function in c# which returns a 64 bit ASCII character array, since c# uses UNICODE how do I convert the ASCII character array to a UNICODE string? </p>
  
  <p>I have done this before by having the string in a struct because the function had a struct as one of its arguments as follows:</p>
  
  <pre><code>      public struct example
        {
          public uint ID;  
          [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst = 64)]
          public string serialNumber;  
        }                  
  </code></pre>
  
  <p>I cannot use a structure this time as this new function has serialNumber as one of its arguments. I have declared the serialNumber as a string, then when the imported c function is called the program crashes, I reckon This data conflict is the cause of that?</p>
  
  <p>Sorry if this question is a bit confusing trying my best to explain my problem, any help would be appreciated.  </p>