在Windows API中,多字符串(由空字符分隔的双重空终止字符串)很常见。将从API返回的多字符串转换为C#字符串集合以及反过来的好方法是什么?
我特别关注字符编码的正确处理(Windows XP及更高版本)。
下面的方法似乎对于创建多个字符串而言还可以,但我没有解码多字符串的示例。
static string StringArrayToMultiString(
ICollection<string> stringArray
)
{
StringBuilder multiString = new StringBuilder();
if (stringArray != null)
{
foreach (string s in stringArray)
{
multiString.Append(s);
multiString.Append('\0');
}
}
return multiString.ToString();
}
multiString.Split('\0', StringSplitOptions.RemoveEmptyEntries)
。 - configurator