string uniquechars = "a,e,i"
int counting = 0;
foreach (var item in line)
{
if (chars.IndexOf(item) != -1)
{
counting++;
}
}
Этот код определяет, сколько раз определенный символ находится внутри строки, но я не совсем понимаю, как заставить его считать каждую букву только один раз.Например, aaaaeeeeiiii
- это строка, и я хочу, чтобы результат был Number of unique letters appeared that appeared: 3
. Для 3 символов я мог бы сделать if, но это было бы неэффективно, если бы у меня было около 8 уникальных символов, и они чувствительны к региструтоже.
Решено
Благодаря комментарию я понял это простым способом.Вот как я это получил:
char[] seperators = { ' ', '.', ',', '!', '?', ':', ';', '(', ')', '\t' };
string chars = "A;E,I.Y;O;U;a;e;i;y;o;u;Ą;ą;Ę;ę;Ė;ė;Į;į;Ų;ų;Ū;ū";
string[] Uniquechars = chars.Split(seperators);
int counting = 0;
for (int i = 0; i < Uniquechars.Length; i++)
{
if (eil.Contains(Uniquechars[i])) counting++;
}