J'ai une chaîne que je convertitais en une matrice de caractère, puis j'utilise LINQ pour sélectionner les différents caractères à l'intérieur du tableau de caractères, puis commandez-les en descendant, mais n'attrape que les caractères de ponctuation, etc.
Voici le code: p> et le message d'erreur que je reçois: p> erreur CS1502: la meilleure correspondance de méthode surchargée pour `Char.Sletter (Char) 'a des arguments non valides (CS1502) P>
li>
erreur CS1503: argument '# 1' ne peut pas convertir 'system.linq.igrouping Des idées? Merci:) p> p>
4 Réponses :
dans votre clause où, E code> dans ce contexte est votre regroupement, pas le personnage. Si vous souhaitez vérifier si le personnage est une lettre, vous devez tester votre clé. //...
.Where(g => Char.IsLetter(g.Key))
Essayez ceci:
var inputString = "The black, and, white cat";
var txtEntitites = inputString.GroupBy(c => c)
.OrderByDescending(g => g.Count())
.Select(t=> t.Key)
.Where(e => Char.IsLetter(e));
Merci :) et merci de ne pas me plaindre ou me marquer pour avoir posé une question ha!
Votre question était courte, concise et donnait de bons détails sur le message d'erreur afin que je lui ai donné un vote sur :-)
Je pense que c'est ce que vous recherchez
string inputString = "The black, and, white cat";
var something = inputString.ToCharArray();
var txtEntitites = something.Where(e => Char.IsLetter(e))
.GroupBy(c => c)
.OrderByDescending(g => g.Count()).Select(t=> t.Key);
List<char> charArray = (
from c in inputString
where c >= 'A' && c <= 'z'
orderby c
select c
).Distinct()
.ToList();
Char.IsLetter (e.Key) code> Je viens de recevoir ce travail de déconner dans VSCode gist.github.com/lewiscowles1986/...