【问题标题】:Drawing literal string in windows forms在 Windows 窗体中绘制文字字符串
【发布时间】:2013-06-21 12:12:51
【问题描述】:

我有如下字符串

"!\"#$%\"&'\\(%\\)"

我正在单独渲染这个字符串的每个字符,我在'('')' 之前得到'\\\'

但我不想在'(' 之前得到那个'\\\'

我尝试更换或删除它,但它不起作用 怎么做?

这里的代码: input.Replace('\\(', '(');

【问题讨论】:

  • 你知道如果你在字符串之前添加@ 你不需要转义所有特殊字符吗?像string myString = @"!\#/$%?&" 一样使用@。另外,为什么要一张一张打印?你能告诉我们你打印这些的代码吗?
  • 你确定不只是调试器窗口吗?点击快速观看窗口中的放大镜。
  • 你是在 Visual Studio 中还是在你的表单中得到这个?你打败了我,蒂姆..
  • @im_a_noob,即使使用@,您仍然需要转义"
  • @Liam true... 不确定在特定情况下它是如何工作的

标签: c# winforms character string-literals


【解决方案1】:

字符 /" 是 C# 中的特殊字符,因此如果要将它们打印出来,则必须使用转义序列。在每个 \" 之前输入 \,如下所示:

代码示例:

static void Main(string[] args)
{
    const string s = "! \\ \" # $ % \\ \" & ' \\ \\ ( % \\ \\ )";
    foreach (char c in s)
    {
        Console.WriteLine(c);
        Console.Read();
    }
}

在这个控制台示例中,您每次按 Enter 键都会得到每个字符。顺便说一句,我添加的空格对于打印​​每个字符很重要。如果去掉空格,字符会成对打印出来。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 2011-12-20
    • 1970-01-01
    相关资源
    最近更新 更多