如何将字符串转换为ushort数组..
非常感谢你的帮助。
谢谢, LOKESH
答案 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);
}
}