在 C# 中使用 Unicode 值
Using Unicode Values in C#
我在我的应用程序中使用 unicode 时遇到了这种奇怪的情况。我有一个随机 unicode 列表,然后我将其随机分配给一个对象。
var icons = new List<string> { "\uf022", "\uf039", "\uf02b", "\uf1b2", "\uf07b" };
当我调试对象时,Object.Icon
属性 显示 "."
,这是 unicode 的正确值。当我在 XAML 页面上显示 unicode 时,会显示正确的图标。
因此,当我完成这项工作时,我想将 unicode 值移动到数据库中,而不是使其随机化。但是现在当我调试对象时 Object.Icon
属性 显示“\unicodevalue"
即“\uf022”。
在 XAML 页面上显示此值时,它显示为文本值 \uf022 而不是图标。
图标列表中的字符串与数据库中的字符串值有什么区别?
数据库中的 unicode 序列已经转义了反斜杠,所以 "\uf042"
实际上总共有 6 个字符:反斜杠、"u"、"f"、“0”、“4”和“2”。
但是,就 C# 而言,代码中的 unicode 序列实际上只是一个字符,它们是 unicode 代码点的文字。
要将数据库中的值更改为单独的 Unicode 代码点,请尝试 Char.ConvertFromUtf32
方法。
我在我的应用程序中使用 unicode 时遇到了这种奇怪的情况。我有一个随机 unicode 列表,然后我将其随机分配给一个对象。
var icons = new List<string> { "\uf022", "\uf039", "\uf02b", "\uf1b2", "\uf07b" };
当我调试对象时,Object.Icon
属性 显示 "."
,这是 unicode 的正确值。当我在 XAML 页面上显示 unicode 时,会显示正确的图标。
因此,当我完成这项工作时,我想将 unicode 值移动到数据库中,而不是使其随机化。但是现在当我调试对象时 Object.Icon
属性 显示“\unicodevalue"
即“\uf022”。
在 XAML 页面上显示此值时,它显示为文本值 \uf022 而不是图标。
图标列表中的字符串与数据库中的字符串值有什么区别?
数据库中的 unicode 序列已经转义了反斜杠,所以 "\uf042"
实际上总共有 6 个字符:反斜杠、"u"、"f"、“0”、“4”和“2”。
但是,就 C# 而言,代码中的 unicode 序列实际上只是一个字符,它们是 unicode 代码点的文字。
要将数据库中的值更改为单独的 Unicode 代码点,请尝试 Char.ConvertFromUtf32
方法。