如何将字符串转换为ushort数组

时间:2010-07-29 11:01:46

标签: c#-3.0

如何将字符串转换为ushort数组..

非常感谢你的帮助。

谢谢, LOKESH

2 个答案:

答案 0 :(得分:3)

string s = "test";
ushort[] result = s.ToCharArray().Select(c => (ushort)c).ToArray();

不确定这是否是最佳方式,但它应该有效。

修改:我不知道string已实施IEnumerable。所以实际上你只需要:

ushort[] result = s.Select(c => (ushort)c).ToArray();

感谢Jeff指出这一点。

答案 1 :(得分:0)

如果您不需要可验证的IL,那么仅使用标准库的最快方法(避免完全复制字符串数据)就是使用Encoding.GetBytes的不安全重载:

fixed (char* src = str) {
   fixed (ushort* dst = arr) {
       Encoding.Unicode.GetBytes(src, str.Length, (byte*)dst, arr.Length * 2);
   }
}