2009-01-14 7 views
2

Vous avez un peu de gel de l'esprit pour le moment. J'ai la syntaxe suivante: -fente de chaîne basée sur char

 string[] repname = Thread.CurrentPrincipal.Identity.ToString().Split('\'); 

et je reçois une erreur sur le caractère partagé. Quelqu'un peut-il conseiller sur la façon dont je peux faire la séparation en utilisant le caractère \ comme délimiteur?

Vive

+0

Quel est le message d'erreur? –

Répondre

1

\ est un caractère d'échappement en C#.

Vous devez faire une des opérations suivantes:

Split('\\'); 

ou

Split(@'\'); 
1

En règle générale, le caractère \ est destiné à échapper à d'autres personnages. Si vous souhaitez qu'il soit pris littéralement, vous devez lui échapper avec un autre \. Ainsi, afin d'échapper sur des barres obliques inverses, vous fournirez \\.

1

Split prend un caractère [] en tant que paramètre et non en tant que caractère. Essayer;

string[] repname = Thread.CurrentPrincipal.Identity.ToString().Split(new char[] {'\\'}); 
+0

Pourquoi la downvote? Le caractère non-échappé n'est qu'une partie de l'histoire, il n'y a pas de surcharge de String.Split qui prend un seul caractère. –

0
string[] repname = Thread.CurrentPrincipal.Identity.ToString().Split(new string[]{"\\"}, StringSplitOptions.None); 
Questions connexes