Multistrings (double null-terminated string of null-separated strings) are common in the Windows API. What\'s a good method for converting a multistring returned from an API
This might be naïve, but how about:
static string[] MultiStringToArray(string multiString)
{
return multiString.TrimEnd('\0').Split('\0');
}
Also - aren't you missing the final And it might be easier to call if the array was a \0
(you state double-null-terminated) in StringArrayToMultiString
?params string[]
array - something like:
static string StringArrayToMultiString(params string[] values)
{
if (values == null) throw new ArgumentNullException("values");
StringBuilder multiString = new StringBuilder();
foreach (string s in values)
{
multiString.Append(s);
multiString.Append('\0');
}
return multiString.ToString();
}
[edited after clarification about final \0]