作者:女女的家_747 | 2023-09-02 19:47
在Int处于有效值范围内的情况下,将Int值转换为Utf16中相应Char的最佳方法是什么?
1> gimel..:
(char)myint;
例如:
Console.WriteLine("(char)122 is {0}", (char)122);
收益率:
(char)122是z
@nykwil我没有看到gimel的回答有什么问题.
@nykwil - 那是错误的信息.`Console.WriteLine((char)49 =='1');`会给**真**.`char c =(char)49; string s ="1two3"; Console.WriteLine(c == s [0]);`使用这个演员表非常好.您的解释没有提供有效的例子.此外,`Console.WriteLine((char)49 == 1);`是*false*这实际上使你的评论毫无根据.
2> Corey Trager..:
int i = 65;
char c = Convert.ToChar(i);
Convert.ToChar最终执行显式转换为"(char)value",其中"value"是你的int值.在执行此操作之前,它会检查以确保"value"在0到0xffff的范围内,如果不是,则抛出OverflowException.额外的方法调用,值/边界检查和OverflowException可能很有用,但如果不是,如果只使用"(char)value",性能会更好.
3> Boaz..:
虽然没有完全回答制定的问题,但如果您需要或可以将最终结果作为字符串,您也可以使用
string s = Char.ConvertFromUtf32(56);
如果需要,它将为您提供代理utf16对,如果您不在BMP方面,保护您.