38 votes

Mauvaise valeur de la constante de compilation

J'obtiens "Bad Compile constant value" sur cette déclaration.

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

Je veux simplement le configurer pour qu'il vérifie une autre chaîne de caractères afin de voir si la valeur saisie est composée de 4 chiffres.

72voto

Mark Rushakoff Points 97350

Le C# essaie d'interpréter \d comme séquence d'échappement, et \d es no une séquence d'échappement valide (mais \n y \t sont, par exemple). Vous pouvez soit doubler les antislashs pour l'échapper ( "^(\\d){4}$" ), ou vous pouvez préfixer la chaîne de constante avec un signe at : @"^(\d){4}$" .

8voto

Jason Kresowaty Points 8053

C# utilise \Ncomme caractère d'échappement. Vous devez doubler le \ a \\ .

Vous pouvez également placer un caractère @ avant le double-cadratin :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X