IEnumerable添加项目?

时间:2013-02-15 13:43:02

标签: linq ienumerable add

模型

public class ChartData
{
    public IEnumerable<Series> Series { get; set; }
    public string[] Categories { get; set; }
}

public class Series
{
    // there is another types
}

我有两个数据ChartData类型

// I debugged the following, data is like my expected.
chartData = HighchartsManager.GetBranchsMeterReadingsChartData(); 
chartDataCustomerAvg = HighchartsManager.GetCustomerAvgChartData();

我尝试连接这两个结构的系列,如下面的

// chartData.Series.Count > 3
// chartData.Series.Count > 2
// I want chartData.Series > 5 (3+2), after following line
chartData.Series.Concat(chartDataCustomerAvg.Series);

chartData.Series没有变化。如何将IEnumerable添加到另一个?

1 个答案:

答案 0 :(得分:5)

  

如何将IEnumerable添加到另一个?

总的来说,你不能。 IEnumerable<T>是一个只读界面 - 添加它并不总是有意义。

您可以创建一个 new 序列,它连接两个序列,这是您的代码当前所做的 - 但它会忽略返回值。所以你可以写:

var bigSeries = chartData.Series.Concat(chartDataCustomerAvg.Series);

但这不会改变chartData.Series本身。 (目前尚不清楚你是否真的想这样做。)