Aller à la ligne string \n dans BDD
Bonjour,
Je développe une application WP en C# et je fais face à un problème.
J'ai une classe Enigme avec plusieurs attributs, dont un string qui sert d'énoncé à l'énigme.
Quand j'ajoute une énigme, afin d'aller à la ligne, il me suffit de placer des \n.
Exemple :
Code:
1 2 3 4 5 6 7 8 9
|
Enigme en = new Enigme()
{
Titre = "Une histoire de lettre",
Texte = "Je commence par un e\nJe finis par un e\nJe contiens une lettre.\nQui suis-je?",
Num = 1,
Solution = "enveloppe",
Reussi = false
}; |
Quand j'affiche mon texte, j'ai bien :
Je commence par un e
Je finis par un e
Je contiens une lettre
Qui suis-je?
MAIS, mon problème est que je ne note pas ma chaine en brute, je la récupère d'une base de données...
Code:
1 2 3 4 5 6 7 8 9
|
Enigme eni = new Enigme()
{
Num = (int)e.Result[i],
Titre = Convert.ToString(e.Result[i+1]),
Texte = Convert.ToString(e.Result[i+2]),
Solution = Convert.ToString(e.Result[i+3]),
Reussi = false
}; |
Dans ma base de données SQL Server, j'ai une variable ntext pour mon texte.
La valeur est : Je commence par un e\nJe finis par un e\nJe contiens une lettre.\nQui suis-je?
Je devrais donc avoir le même résultat en sortie, mais il n'en est rien, quand j'affiche mon texte venant la BDD, j'obtiens :
Je commence par un e\nJe finis par un e\nJe contiens une lettre.\nQui suis-je?
Avec les \n et non des retour à la ligne. Comment puis-je arrangeais ça? J'attribue pourtant bien la même chaine de caractère au Texte, ce sont tout les 2 des string, ayant la même valeur...
Merci. :)
édit : J'ai trouvé une solution :
1. Dans la base de données, je remplace mes \n par un caractère spécial que je n'utiliserais jamais pour définir une énigme, j'ai pris '§'.
2. Je split mon string sur ce §, et je recopie le tout dans un nouveau string en ajoutant \n
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
string[] tableau_de_mots = (Convert.ToString(e.Result[i+2])).Split('§');
string texteEnigme = "";
for (int j = 0; j < tableau_de_mots.Count(); j++)
{
texteEnigme += tableau_de_mots[j] + "\n";
}
Enigme eni = new Enigme()
{
Num = (int)e.Result[i],
Titre = Convert.ToString(e.Result[i+1]),
Texte = texteEnigme,
Solution = Convert.ToString(e.Result[i+3]),
Reussi = false
}; |