当我输入 Alt+1 我回来了☺ 我想在代码中使用一些神奇的方法来获取字符串中的 ☺ 字符。
像这样:
string smiley = AltCodes.GetAltCodeCharacter(1).ToString();
// Display the Smiley
richTextBoxHappy.Text = smiley;
然后在富文本框中应该是这样的:☺
最佳答案
您可以使用 Unicode Table (Decimal)找出您的代码,然后像这样使用它,例如:
int i = 9786;
textBoxHappy.Text = ((char)i).ToString();
结果图片:
编辑
当然您可以创建自定义映射,例如一些 Dictionary<string, int>
(或您想要的任何自定义类型),并向其添加代码,如 { "smiley", 9786 }
, 然后使用它 altCode["smiley"]
.
更新
或使用 enum
为此:
enum AltCodes
{
Smiley = 9786,
NextSmiley = 9787
}
并像这样使用它:
textBoxHappy.Text = ((char)AltCodes.Smiley).ToString();
您甚至可以创建自定义解码器,然后在 wpf TextBox
中编写您的替代代码(通过按住 alt 并键入数字) , 单击“解码” 并将您的代码值设为 int[]
例如:
private int[] DecodeCharCode(string str) =>
DecodeCharCode(str.ToArray());
private int[] DecodeCharCode(char[] chars)
{
int[] result = new int[chars.Length];
for (int i = 0; i < chars.Length; i++)
{
result[i] = (int)chars[i];
}
return result;
}
和用法(点击事件或命令):
int[] decodedCodes = DecodeCharCode(decodingText.Text);
关于c# - 如何找到与我的替代代码匹配的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50348817/