坏编译常量值

时间:2009-10-13 03:26:23

标签: c#

我在这句话中得到“Bad Compile constant value”。

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

我只想将其设置为检查另一个字符串,以查看输入的值是否为4位数。

2 个答案:

答案 0 :(得分:72)

C#正在尝试将\d解释为转义序列,而\d 是一个有效的转义序列(但是\n\t是,例如)。您可以将反斜杠加倍以使其转义("^(\\d){4}$"),也可以在常量字符串前加上一个at符号:@"^(\d){4}$"

答案 1 :(得分:8)

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

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

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