我有一个字符串
我可以用代码转换它;
char chr = Convert.ToChar("\u00c7"); // value of the chr is **Ç**
但我不能像这样转换
我在textbox1
中发誓 \ u00c7char chr2 = Convert.ToChar(textbox1.Text); //This makes an error - number of character
我已经工作了几个小时,无法找到解决方案。
答案 0 :(得分:2)
没有内置的方法来执行此操作(转义序列仅在编译时解析),但它很容易自己解析字符串:
static bool TryParseAsChar(this string s, out char c)
{
if (s != null)
{
if (s.Length == 1)
{
c = s[0];
return true;
}
if (s.StartsWith("\\u", StringComparison.InvariantCulture) &&
s.Length == 6)
{
var hex = s.Substring(2);
if (int.TryParse(hex,
NumberStyles.AllowHexSpecifier,
CultureInfo.InvariantCulture,
out var i))
{
c = (char)i;
return true;
}
}
}
c = default(char);
return false;
}