String.Replace有以下问题:
string str = "0?0";
str = str.Replace("?", "&&");
Run Code Online (Sandbox Code Playgroud)
当我打印出str时,它将是"0&0"而不是"0 && 0".要获得"0 && 0",我必须写
str = str.Replace("?", "&&&&");
Run Code Online (Sandbox Code Playgroud)
这是为什么?
&是WinForms中的一个特殊字符,用于表示键盘快捷键.使用&&是WinForms如何逃避&符号.
因此,要在WinForms中显示它,您必须在字符串中放置两个 &字符,如下所示:
str = str.Replace("?", "&&&&");
Run Code Online (Sandbox Code Playgroud)
这严格来说是一个WinForms"东西",与C#或.NET字符串无关.这种方式至少可以追溯到Visual Basic 4 - 可能在此之前.