c# - 如何将列表转换为 IEnumerable?
问题描述
错误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);
}
}
解决方案
原因是变量列表不是字符串列表而是 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 评论的那样。
推荐阅读
- shopware - Shopware 6 OneToMany 关系
- java - 如何在 TextView 中将小数显示为 00:00(分:秒)
- java - 为什么 JTextField 动作侦听器不起作用
- python - 使用 BeautifulSoup 从 HTML 中排除几个元素
- javascript - Javascript 正则表达式:如何避免捕获组成为“未定义”?
- javascript - 仅加载一次 Json 文件,之后我想从加载的文件评估器中获取而不是再次加载
- javascript - Javascript - 使 img 元素从左侧滑入并淡入
- postgresql - postgreql 二维数组文字无法识别
- flutter - Flutter - 带有弓形图标的行
- python - Django 静态文件未加载 ImageField URL