字符串格式和十六进制字符
有人可以解释为什么这不起作用:
string f = string.Format("\\x{0:00}{{0}}", 5);
string o = string.Format(f, "INSERT TEXT");
System.Diagnostics.Debug.WriteLine(f + " : " + o);
输出是:
\x05{0} : \x05INSERT TEXT
为什么 \x05 没有被替换?
can someone explain why this doesnt work:
string f = string.Format("\\x{0:00}{{0}}", 5);
string o = string.Format(f, "INSERT TEXT");
System.Diagnostics.Debug.WriteLine(f + " : " + o);
Output is:
\x05{0} : \x05INSERT TEXT
why does the \x05 not get replaced?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
参数的格式应在格式说明符中设置,否则您只是插入文字“\x”。像这样:
不要混淆源代码中十六进制文字的表示方式与格式化字符串中打印的内容,它们是不同的东西。
The format for the argument should be set in the format specifier, otherwise you're just inserting a literal "\x". Like this:
Don't confuse how you represent a hex literal in source code with what you would print in a formatted string, they are different things.
要将文字字符放入字符串中,只需确保编译器知道它是字符即可。
或者你可以从一个真正的角色开始:
选择你的选择。
To put a literal char in a string, just make sure that the compiler knows it's a char.
or you can start out with a real char:
Take your pick.
这是你需要的吗?
Is this what you need?