2009-05-14 3 views

Répondre

13

Ajouter un @ avant le littéral.

string _testData = @"a couple screens worth of text data here 
and I need to preserve the formatting 
such as line breaks, 
etc."; 
+1

... et n'oubliez pas de doubler tout "dans la chaîne littérale –

10

Utilisez le littéral @ pour indiquer les types de chaîne.

string _testData = @"a couple screens worth of text data here 
and I need to preserve the formatting 
such as line breaks, 
etc."; 

De MSDN: « littéraux chaîne Verbatim commencent par @ et sont également enfermés dans des guillemets doubles L'avantage de chaînes verbatim est que les séquences d'échappement ne sont pas traitées, ce qui le rend facile à écrire, par exemple, a. nom de fichier complet: pour inclure un guillemet double dans une chaîne @ -quoted, doublez-le. "

5

Comme d'autres l'ont dit, il est

string _testData = @"a couple screens worth of text data here 
and I need to preserve the formatting 
such as line breaks, 
etc."; 

Ceci est appelé une chaîne littérale mot à mot . L'autre effet est que backslash n'est plus utilisé pour échapper quoi que ce soit - ce qui le rend utile pour les expressions régulières et les chemins de fichiers Windows.

Les doubles guillemets sont obtenus en doublant. Par exemple, pour obtenir x"y dans une chaîne:

string verbatim = @"x""y"; 
string regular = "x\"y"; 
1

Au lieu d'encombrer votre code avec statique, texte formaté, vous devriez peut-être créer une ressource de fichier que votre application lit et de magasins dans la mémoire. De cette façon, si vous avez besoin de le changer ou de le formater différemment, vous pouvez effectuer le changement sans toucher davantage et encombrer votre code.

0

Je suis d'accord avec Wayne Hartman - il suffit de stocker votre texte volumineux en tant que fichier texte et lu que dans une chaîne pour le test, par exemple:

string testData = File.ReadAllText(fileToRead); 
    //Unit test using the testData 

Il n'y a pas vraiment de logique ici qui s'en la voie du reste de votre test. Le test d'unité se concentre toujours sur votre fonctionnalité, il utilise simplement le fichier texte pour stocker facilement la grande chaîne.

Questions connexes