如何将列表转换为IEnumerable ?

问题描述 投票:0回答:1

错误 CS1503参数2:无法从'System.Collections.Generic.List'到'System.Collections.Generic.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);
    }
}
c# append filestream
1个回答
0
投票

原因是变量列表不是字符串列表,而是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并将其写入文件可以更容易地完成,如Knoop所说。

© www.soinside.com 2019 - 2024. All rights reserved.