在Windows API中常见多个字符串(双空终止的空字符串串)。将从API返回的多字符串转换为C#字符串集合的好方法是什么?反之亦然?如何将多字符串转换为C#字符串集合/从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();
}
我认为\ 0已经在字符串中,当它通过COM发送时,意味着他需要一个\ 0而不是另一个。 – configurator 2008-11-06 15:09:40