Текст пользователя в массив 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 шт):

Автор решения: Azonos

Соглашусь с выше написанными комментариями. И кажется Вы не совсем понимаете, как работать со строками. Переменная string str уже является массивом символов и к нему можно обращаться через индексатор. Например: str[0] - возвращает первый символ строки. Почитайте больше информации по работе со строками, например на metanit.com. А по поводу решения вашей проблемы, если вам нужно удалять повторяющиеся символы из строки, то вот решение в одну строчку:

var result = new String(str.Distinct().ToArray());
→ Ссылка