C# 在C中将转义unicode更改为字符串#

C# 在C中将转义unicode更改为字符串#,c#,string,unicode,emoji,C#,String,Unicode,Emoji,在c#我有 我需要把它变成: Dh您可能必须将每个字符表示解析为int,然后转换为char: string x=@“\u0044\u0068\uD83D\uDE07\u90FD\u5728”; var chars=x.Split(新[]{@“\u”},StringSplitOptions.RemoveEmptyEntries) .Select(c=>(char)Convert.ToInt32(c,16)) .ToArray(); var输出=新字符串(字符); //output=Dh我知道它会转

在c#我有

我需要把它变成:


Dh您可能必须将每个字符表示解析为
int
,然后转换为
char

string x=@“\u0044\u0068\uD83D\uDE07\u90FD\u5728”;
var chars=x.Split(新[]{@“\u”},StringSplitOptions.RemoveEmptyEntries)
.Select(c=>(char)Convert.ToInt32(c,16))
.ToArray();
var输出=新字符串(字符);
//output=Dh我知道它会转换,所以我会使用它,如果它是我的一个项目,并且我已经有了对它的引用:

使用Newtonsoft.Json;
var output=newjsontextreader(newstringreader($“\”{x}\”)).ReadAsString();

//output=dh只需删除开头的“@”并打印即可。“@”使其忽略“\”字符。字符修饰符应该自动处理,您不需要做任何特殊的操作。不,@ErenErsönmez,这只是一个例子。字符串x包含这些字符,我无法控制x的设置方式。除非你有办法转换x,使它不忽略转义字符。奇怪--
我明白了。不,字符文字将是编译时的事情,不能在事后生成。您必须解析字符串,如我的回答所示。
string x = @"\u0044\u0068\uD83D\uDE07\u90FD\u5728"