Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不可能在列表C中铸造空#_C#_Csv - Fatal编程技术网

C# 不可能在列表C中铸造空#

C# 不可能在列表C中铸造空#,c#,csv,C#,Csv,我正在尝试制作一个解析器,它将读取CSV文件并在列表中添加信息 我的问题是,当我在字典中循环添加头(键)和值(值)时,我有一个错误 “不可能在列表中作废”(翻译自法语) 代码: 私有列表头=null; 私有列表表auvaleurs=null; 公共bool ParseCSVFile(字符串csvPath) { 布尔结果=假; if(File.Exists(csvPath)) { 使用(StreamReader sr=新的StreamReader(csvPath)) { var firsLine=

我正在尝试制作一个解析器,它将读取CSV文件并在列表中添加信息

我的问题是,当我在字典中循环添加头(键)和值(值)时,我有一个错误

“不可能在列表中作废”(翻译自法语)

代码:

私有列表头=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);