Текст пользователя в массив string
Программа должна форматировать введенный пользователем текст.
Пример - Ввод: сссуууп, вывод - суп.
Я так понимаю проблема в том, что Console.ReadLine() делает мне char массив, а как его преобразовать в string не понимаю.
static void Main(string[] args)
{
Console.Write("Введите текст: ");
string str = Console.ReadLine();
string[] symbols = str.ToArray();
var result = new List<string>();
foreach (var element in text)
{
if (result.Count == 0 || result.ToString().Last() != element)
{
result.Add(element.ToString());
}
else
{
continue;
}
}
Console.WriteLine($"{ result.ToString()}");
}
Выдает ошибку CS0029 - не удается неявно преобразовать тип char[] в string[]
В моменте сравнения
result.ToString().Last() != element
выдает ошибку CS0019 невозможно применить к оператору типа char и string.
Ответы (1 шт):
Соглашусь с выше написанными комментариями. И кажется Вы не совсем понимаете, как работать со строками. Переменная string str уже является массивом символов и к нему можно обращаться через индексатор. Например: str[0] - возвращает первый символ строки. Почитайте больше информации по работе со строками, например на metanit.com.
А по поводу решения вашей проблемы, если вам нужно удалять повторяющиеся символы из строки, то вот решение в одну строчку:
var result = new String(str.Distinct().ToArray());