Как-то так?
linq("and a rhino 11", new char[] { 'a', 'b', 'c' }); // result: { 'a' }
public char[] linq(string text, char[] limitChars)
{
char[] result = text
.Where( c => limitChars.Contains(c))
.GroupBy(x => x)
.Where(g => g.Count() > 1)
.Select(g => g.Key)
.ToArray();
return result;
}
Это решение применимо, только если вам нужно ограничить диапазон символов списком , настраиваемым .
Обратите внимание, что метод char.IsLetter()
позволит также проходить символы из других алфавитов (например, кириллицы, греческого и т. Д.), Так что это может быть не идеально.
Следующая лучшая вещь w/ o передача настраиваемого списка - это решение @ Femaref imo, явно использующее коды символов английского алфавита - это может лучше всего работать в вашей конкретной проблеме.