I have a string that I convert to a char array and then I use LINQ to select the different characters inside the char array and then order them by Descending but only catch the characters, not the punctuation marks etc…
Here is the code:
string inputString = "The black, and, white cat";
var something = inputString.ToCharArray();
var txtEntitites = something.GroupBy(c => c)
.OrderByDescending(g => g.Count())
.Where(e => Char.IsLetter(e)).Select(t=> t.Key);
And the error message I get:
-
Error CS1502: The best overloaded method match for `char.IsLetter(char)’ has some invalid arguments (CS1502)
-
Error CS1503: Argument ‘#1’ cannot convert ‘System.Linq.IGrouping<char,char>’ expression to type `char’ (CS1503)
Any ideas? Thanks 🙂
Try this:
Note the
Char.IsLetter(e.Key))Another idea is to rearrange your query:
Also note you don’t need the call to
inputString.ToCharArray()sinceStringis already anIEnumerable<Char>.