C#. Как разбить строку на символы, если нет разделителей?
Например, строка такого вида "ПолучитьОтвет". Требуется каждую букву занести в элементы нового массива (mas[0]="П", mas[1]="о", mas[2]="л", и т.д.)
Понятно, что при чтение строки из консоли или из файла можно применить посимвольное чтение. А как быть если строка уже присвоена переменной? В C# есть что-нибудь типа посимвольного присвоения?
Илья Павлов, цель получить кол-во повторяющихся букв
Илья Павлов, огромное спасибо ваш код очень помог! Единственный момент - тип массива и его эл-ов надо указывать сhar:
string S = "И всю ночь напролет до зари я читаю стихи проституткам... ";
char[] A_S = new char[S.Length];
for(int i = 0; i < A_S.Length; i++)
{
A_S[ i ] = S[ i ];
}
MyXa, Split здесь не применим, т. к. в строке нет разделителей.
Namolem, не понятен ваш код. Он на C++?
Jekaterina Usova, вам тоже огромное спасибо! Оказывается всё намного проще чем я представлял :)
Прежде всего я не понимаю цель этих действий, поскольку строка в C# (и не только) уже сама по себе является константным массивом символов, т. е. к отдельному ее символу можно обратиться через индекс:
string Vasya = "VasyaPupkinNarkoman";
char m = Vasya[0];
Если же требуется каждый элемент строки перенести в отдельную строку, являющуюся частью массива строк, можно использовать цикл, так сказать, не мудрствуя лукаво:
string S = "И всю ночь напролет до зари я читаю стихи проституткам... ";
string[] A_S = new string[S.Length];
for(int i = 0; i < A_S.Length; i++)
{
A_S[ i ] = S[ i ];
}
З. Ы. : Пишите в ICQ: 228004347 или Агент.
String myString = "ABCD";
char[] mystr = myString.ToCharArray();
в стринге есть функция toCharArray()
А задача решается так:
string str = "Строка с повторяющимися буквами";
int count = str
.ToLower() // сделать все буквы строчными
.GroupBy(c => c) // разбить на группы с одинаковыми буквами
.Where(c => c.Count() > 1)// оставить только группы с двумя или более буквами
.Sum(g => g.Count()); // и посчитать количество (сумму количеств в этих группых)
метод split (гугли)
и будет тебе массив
а далее перебором и т. д