C# 不可能在列表C中铸造空#
我正在尝试制作一个解析器,它将读取CSV文件并在列表中添加信息 我的问题是,当我在字典中循环添加头(键)和值(值)时,我有一个错误 “不可能在列表中作废”(翻译自法语) 代码:C# 不可能在列表C中铸造空#,c#,csv,C#,Csv,我正在尝试制作一个解析器,它将读取CSV文件并在列表中添加信息 我的问题是,当我在字典中循环添加头(键)和值(值)时,我有一个错误 “不可能在列表中作废”(翻译自法语) 代码: 私有列表头=null; 私有列表表auvaleurs=null; 公共bool ParseCSVFile(字符串csvPath) { 布尔结果=假; if(File.Exists(csvPath)) { 使用(StreamReader sr=新的StreamReader(csvPath)) { var firsLine=
私有列表头=null;
私有列表表auvaleurs=null;
公共bool ParseCSVFile(字符串csvPath)
{
布尔结果=假;
if(File.Exists(csvPath))
{
使用(StreamReader sr=新的StreamReader(csvPath))
{
var firsLine=sr.ReadLine();
this.header=firsLine.Split(“;”).ToList();
而(sr.Peek()>=0)
{
var line=sr.ReadLine().Split(“;”);
this.tableauValeurs=新列表();
Dictionary lineDico=新字典();
for(int i=0;i
有什么想法吗?谢谢添加是一个无效的方法。它不会返回新列表。
因此,首先将元素添加到列表中,然后将列表放入字典中
this.tableauValeurs.Add(line[i]);
lineDico.Add(this.header[i], this.tableauValeurs);
你有:
lineDico.Add(this.header[i], this.tableauValeurs.Add(line[i]));
现在;lineDico
是Dictionary
,因此Add
方法需要一个string
和一个List
;this.header[i]
看起来不错,但是this.tableauValeurs.Add(第[i]行)
将返回void
,它不是列表。那么:您打算在lineDico
中添加哪些列表
作为值?添加返回void。您需要先将行添加到tableauValeurs,然后将tableauValeurs添加到字典中此表中。tableauValeurs.add(行[i])
不返回列表
可能最好使用:(如果字段仅在此类中,则不需要此字段)
如果您希望有一个与字典关联的新列表,请将新列表声明移动到for循环之后。已解决,谢谢!!有什么方法可以解决我的主题吗?只需标记(cocher le sign en vert dans maéponse)我的答案。这都是我试图在列表中放置的CSV文件的值,谢谢
lineDico.Add(this.header[i], this.tableauValeurs.Add(line[i]));
tableauValeurs.Add(line[i]));
lineDico.Add(header[i], tableauValeurs);