无法在列表C#中强制无效

时间:2018-08-14 08:58:17

标签: c# csv

我正在尝试创建一个解析器,该解析器将读取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;
}

有什么主意吗?谢谢

4 个答案:

答案 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]));

现在; lineDicoDictionary<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循环之后。