9
votes

chaîne remplacer à l'aide de Linq en C #

foreach (Abbreviation abbreviation in abbreviations)
{
    test = test.Replace(abbreviation.ShortName, abbreviation.LongName);
}
result = test;

1 commentaires

LINQ n'est pas une solution à chaque problème, ce que vous avez écrit, c'est bien.


3 Réponses :


11
votes

Si vous vouliez vraiment raccourcir votre code, vous pouvez utiliser la méthode d'extension foreach sur la liste : xxx


4 commentaires

techniquement ce n'est pas linq ;-)


Techniquement, il ne s'agit pas de programmation fonctionnelle non - Blogs .msdn.com / B / Ericlippert / Archive / 2009/05 / 18 / ...


Je savais qu'il y a toujours une meilleure façon que ce que je fais normalement. Cela fonctionne bien. Merci à vous et à Mike.


Je veux la même chose, mais comment puis-je trouver une partie de la chaîne et la remplacer par un autre texte? veuillez suggérer.



3
votes

Vous pouvez utiliser la méthode foreach. En outre, un StringBuilder doit rendre les opérations sur votre chaîne plus efficaces:

var test = new StringBuilder("this is a test exp. in a para. contains ans. for a question");
abbreviations.ForEach(abb => test = test.Replace(abb.ShortName, abb.LongName));
return test.ToString();


0 commentaires

1
votes

Essayez celui-ci xxx

ou celui ci-dessous xxx


0 commentaires