我有一个定义为public const string Numeric0 = "\u0030";
的字符串。 C#将其解释为Unicode字符,这对我的应用程序的一部分很有用,但我也想以其原始"\u0030"
格式输出字符串。我从SO那里尝试了大多数相关的答案,但实际上并没有取得任何进展。有想法吗?
预期的C#输入:
public const string Numeric0 = "\u0030";
var str = SomeOperation(Numeric0);
预期输出:
str == @"\u0030"
答案 0 :(得分:2)
因此,您需要一种string
dump (当每个char
以unicode \uxxxx
符号的形式表示时),让我们用一个Linq 的帮助:
using System.Linq;
...
public static string Dump(string value) => value == null
? "null" //TODO: put desired representation of null string here
: "\"" + string.Concat(value.Select(c => $"\\u{((int)c):x4}")) + "\"";
...
public const string Numeric0 = "\u0030";
...
string str = Dump(Numeric0);
Console.WriteLine(str);
Console.WriteLine(Dump("abc 123"));
结果:
"\u0030"
"\u0061\u0062\u0063\u0020\u0031\u0032\u0033"