我正在尝试创建一个解析器,该解析器将读取CSV文件并在列表中添加信息。
我的问题是,当我在循环中添加字典,标头(键)和值(值)时,出现错误
“不可能在列表中添加空格”(翻译为法文)。
代码:
public class FooModel
{
[Required]
public int Id { get; set; }
[DesignAttribute(Width = 20, BackgroundColor = Constants.RedArgb)]
public string Name { get; set; }
}
public static class Constants
{
public const int RedArgb = -65536;
}
有什么主意吗?谢谢
答案 0 :(得分:1)
method Add
是无效方法。它不会返回新列表。
因此,首先将元素添加到列表中,然后将列表放入Dictionary
中。
this.tableauValeurs.Add(line[i]);
lineDico.Add(this.header[i], this.tableauValeurs);
答案 1 :(得分:1)
Add返回void。您需要先将行添加到tableauValeurs,然后再将tableauValeurs添加到字典中
答案 2 :(得分:0)
您有:
lineDico.Add(this.header[i], this.tableauValeurs.Add(line[i]));
现在; lineDico
是Dictionary<string, List<string>>
,因此Add
方法需要一个string
和一个List<string>
; this.header[i]
看起来不错,但是this.tableauValeurs.Add(line[i])
将返回void
,而不是List<string>
。那么:您打算作为List<string>
中的值添加的lineDico
是什么?
答案 3 :(得分:0)
this.tableauValeurs.Add(line[i])
不返回列表。
最好使用:(如果字段仅在此类中,则不需要此
tableauValeurs.Add(line[i]));
lineDico.Add(header[i], tableauValeurs);
如果您希望有与字典相关联的新列表,请将新列表声明移至for循环之后。