2010-09-01 2 views
5

C# newbie ici. J'essaie de définir une variable C# comme suit.Comment puis-je créer une chaîne avec Quotes dans C#

string profileArg = @"/profile ""eScore"" "; 

Le résultat final est que je veux la variable pour contenir la valeur

/profile "eScore" 

Il devrait y avoir un espace dans la chaîne après la « eScore »

Comment puis-je le faire?

Seth

+5

Je suis confus par votre question, 'chaîne profileArg = @ "/ profile" "eScore" ""; 'semble faire exactement ce que vous voulez. –

+0

Peut-être que vous ne voyez pas l'espace de fin parce qu'il est vide :) – digEmAll

Répondre

12

Vous avez un espace après eScore dans votre chaîne.

// a space after "eScore" 
string profileArg = @"/profile ""eScore"" "; 

// no space after "eScore" 
string profileArg = @"/profile ""eScore"""; 

// space in "eScore " 
string profileArg = @"/profile ""eScore """; 

// No space using escaping 
string profileArg = "/profile \"eScore\""; 
1
string profileArg = "/profile \"eScore\" "; 
0

Essayez ceci:

string profileArg = "/profile \"eScore\" "; 

Vous voulez mettre \" pour toutes les guillemets littérales.

+0

non. n'utilisez pas le signe à ce moment-là. – jgauffin

+0

Désolé je ne voulais pas quitter le signe @. – drpcken

+0

Ceci ne compile pas –

12

Vous semblez déjà faire cela correctement.

2
string profileArg = "/profile \"eScore\" "; 
+1

La barre oblique inverse n'est pas utilisée pour s'échapper dans une chaîne verbatim (@ le fait verbatim) utilise un double "" à la place (comme VB.) –

+0

A juste attrapé cette erreur – lumberjack4

0

Pour ajouter aux autres. . . Le signe @ qui précède la première citation indique à C# de ne pas interpréter la barre oblique inverse \ comme un caractère d'échappement. C'est pourquoi les exemples donnés omettent le signe @. Ensuite, vous pouvez utiliser le \" pour mettre les guillemets.

1

2 options:

  • backslashés normale échappé: "Ceci est un test de \" Quotes \ ""
  • @ chaîne double échappée: @ "Ceci est un test de" "Citations" "."

ces deux devraient contenir la même chaîne:

This is a test of "Quotes". 
1

Une possibilité serait

string profileArg = "/profile \"eScore\" "; 

Pour moi, cela semble plus clair que vous allez le verbatim littéral

0

ici

String test = " /profile \"eScore\"  "; 
Questions connexes