Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
&引用;无法分配Add,因为它是一个方法组;循环通过循环时C#出错_C#_Linq - Fatal编程技术网

&引用;无法分配Add,因为它是一个方法组;循环通过循环时C#出错

&引用;无法分配Add,因为它是一个方法组;循环通过循环时C#出错,c#,linq,C#,Linq,你好,现在每当它通过我希望它添加每个网站的信息周期。目前它只是覆盖它 foreach (Site s in sites) { foreach (OffSiteItemDetails d in s.ItemDetails) { model.OffReportColumns.Add new List<string>() { s.Name, "",

你好,现在每当它通过我希望它添加每个网站的信息周期。目前它只是覆盖它

foreach (Site s in sites)
{

    foreach (OffSiteItemDetails d in s.ItemDetails)
    {

        model.OffReportColumns.Add new List<string>()
            {
                s.Name,
                "",
                "",
                "Average Cost",
                "",
                "",
                "Average Cost (With labour)"
            };
    }
}
foreach(站点中的站点)
{
foreach(s.ItemDetails中的OffSiteItemDetails d)
{
model.OffReportColumns.Add new List()
{
s、 名字,
"",
"",
“平均成本”,
"",
"",
“平均成本(含人工)”
};
}
}
当我执行
model.OffReportColumns.Add=new List()

我收到错误无法分配Add,因为它是一个方法组


我想我只是把它的语法搞错了,那么什么是正确的语法呢?

如果你想把一个字符串列表添加到一个字符串列表中,我想你可能需要使用
AddRange
。也不要忘记括号

model.OffReportColumns = new List<string>();  

foreach (Site s in sites)
{

    foreach (OffSiteItemDetails d in s.ItemDetails)
    {

        model.OffReportColumns.AddRange(new List<string>()
        {
            s.Name,
            "",
            "",
            "Average Cost",
            "",
            "",
            "Average Cost (With labour)"
        });
    }
}
model.OffReportColumns=newlist();
foreach(站点中的站点)
{
foreach(s.ItemDetails中的OffSiteItemDetails d)
{
model.OffReportColumns.AddRange(新列表()
{
s、 名字,
"",
"",
“平均成本”,
"",
"",
“平均成本(含人工)”
});
}
}
或者可以将属性设置为新列表

foreach (Site s in sites)
{

    foreach (OffSiteItemDetails d in s.ItemDetails)
    {

        model.OffReportColumns = new List<string>()
        {
            s.Name,
            "",
            "",
            "Average Cost",
            "",
            "",
            "Average Cost (With labour)"
        };
    }
}
foreach(站点中的站点)
{
foreach(s.ItemDetails中的OffSiteItemDetails d)
{
model.OffReportColumns=新列表()
{
s、 名字,
"",
"",
“平均成本”,
"",
"",
“平均成本(含人工)”
};
}
}

您可以选择:1-
model.OffReportColumns.AddRange(new List()…)
model.OffReportColumns=new List()…
OffReportColumns的类型是什么?
您的示例代码无效。该错误是由于在添加后的
新列表
周围没有大括号造成的。当我执行addRange时,会出现“对象引用未设置为对象实例”的错误,您显示的第二种方式是我最初使用它的方式。但是,使用这种方法,每次循环时它都会覆盖列表。您需要在第一次循环之前实例化OffReportColumns,例如
model.OffReportColumns=new list()
,并使用
AddRange
方法。@chris同意Sajid并修改了我的答案。在没有看到更多代码的情况下,很难给出可靠的解决方案。如果这个答案对你有效,请将它标记为你问题的答案。