как конвертировать список в IEnumerable <string>? - PullRequest
0 голосов
/ 07 февраля 2020

Ошибка CS1503 Аргумент 2: невозможно преобразовать из 'System.Collections.Generi c .List' в 'System.Collections.Generi c .IEnumerable

public async System.Threading.Tasks.Task SerializeAsync(List<ProgrammInfo> list)
{
    using (FileStream fs = File.AppendAllLines("save3.json", list))
    {
        var options = new JsonSerializerOptions
        {
            WriteIndented = true
        };
        await JsonSerializer.SerializeAsync(fs, list, options);
    }
}

1 Ответ

0 голосов
/ 07 февраля 2020

Причина в том, что список переменных - это не список строк, а список ProgramInfo. Используя Linq, вы можете изменить код следующим образом:

        public async System.Threading.Tasks.Task SerializeAsync(List<ProgrammInfo> list)
        {

            var stringList = list.Select(x => x.ToString());

            using (FileStream fs = File.AppendAllLines("save3.json", stringList))
...

Но я не смог запустить код, так как AppendAllLines возвращает void ... и сериализовал объект в json и записал его в файл. можно сделать проще, как прокомментировал Kn oop.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...