C# 为什么';我的代码不能编译吗?

C# 为什么';我的代码不能编译吗?,c#,C#,我在代码隐藏文件中使用正则表达式,并将字符串定义为 string ValEmail = "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"; if (Regex.IsMatch(email, "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*")) { } else { } 它给了我警告,并没有编译。如何定义这样的字符串组合?在C#中,反斜杠是一个特殊字符,如果要表示反斜杠,我们需要通知编译器 这可以通过使

我在代码隐藏文件中使用正则表达式,并将字符串定义为

string ValEmail = "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";

if (Regex.IsMatch(email, "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"))
{  }
else
{  }
它给了我警告,并没有编译。如何定义这样的字符串组合?

在C#中,反斜杠是一个特殊字符,如果要表示反斜杠,我们需要通知编译器

这可以通过使用反斜杠转义来实现:

string ValEmail = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
或在构造字符串时使用
@
前缀:

string ValEmail = @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
在C#中,反斜杠是一个特殊字符,如果要表示反斜杠,我们需要通知编译器

这可以通过使用反斜杠转义来实现:

string ValEmail = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
或在构造字符串时使用
@
前缀:

string ValEmail = @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";

使用
@“\w+([-+.]\w+*@\w+)([-.]\w+*\。\w+([-.]\w+*”
这样反斜杠将被转义使用
@“\w+([-.]\w+)*\w+([-.]\w+*。\w+)。
这样反斜杠将被转义反斜杠是c字符串中的转义字符。从技术上讲,您必须使用另一个黑色斜杠(
“\\”
)来转义反斜杠,或者在字符串之前添加一个
@

string ValEmail = @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";

反斜杠是c#字符串中的转义字符。从技术上讲,您必须使用另一个黑色斜杠(
“\\”
)来转义反斜杠,或者在字符串之前添加一个
@

string ValEmail = @"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";

请发布警告。如果出现错误:发布错误。我们不是通灵者!请发布警告。如果出现错误:发布错误。我们不是通灵者!以前从未遇到过这种情况,现在我将终生铭记。感谢您的快速回放和清晰解释。当你第一次回答这个问题时,我会把你的答案标记为正确。感谢其他也回答了这个问题的人。以前从未遇到过这个问题,现在我将终生铭记。感谢您的快速回放和清晰解释。当你第一次回答这个问题时,我会把你的答案标记为正确。感谢其他人,他们也回答了这个问题。