坏编译常量值

在这个陈述中我得到了“不好的编译常量值”。

Regex objCheckNumber = new Regex("^(\d){4}$"); 

我只是想设置它来检查另一个string,看看input的值是4位数字。

C#试图将\d解释为转义序列,而\d 不是有效的转义序列(但是\n\t是例如)。 您可以将反斜杠加倍以避开它( "^(\\d){4}$" ),或者您可以在常量string前添加一个符号: @"^(\d){4}$"

C#使用\作为转义字符。 您需要将\翻倍\ \\

或者,在双引号之前放置一个@字符:

 new Regex(@"^(\d){4}$")