Поскольку к символу можно обращаться по индексу, для перебора всех символов можно использовать цикл по переменной, которая будет принимать возможные значения индексов. Например, программа, которая выводит на экран все коды символов строки s будет выглядеть так:
for (int i = 0; i < s.Length; i++)
{
Console.WriteLine(s[i]);
Console.WriteLine(Convert.ToInt32(s[i]));
}
Пояснения к программе:
1) s.Length
находит длину строки. Индекс первого символа равен 0, а индекс последнего s.Length-1
. Переменная цикла i как раз и будет принимать последовательно значения от 0 до s.Length
-1
;
2) в каждой строке сначала будет выводиться сам символ, а затем его код, который можно получить через метод Convert.ToInt32()
;
Такой же перебор можно записать короче:
foreach (char c in s)
{
Console.WriteLine(c);
Console.WriteLine(Convert.ToInt32(c));
}
В данном фрагменте заголовок цикла перебирает все символы s, помещая их по очереди в переменную c.
Особенность C# при работе со строками заключается в том, что строки - это неизменяемые объекты. Другими словами, мы не можем изменять отдельные символы строки.
Например, не сработает следующий оператор:
s[5]=" ";