2013-02-15 3 views
1

МодельIEnumerable добавить товар?

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 в другой?

ответ

5

Как добавить IEnumerable в другой?

Вы не можете, в общем. IEnumerable<T> - интерфейс, доступный только для чтения. Не всегда важно добавить его.

Вы можете создать новую последовательность, которая объединяет две последовательности, что в настоящее время делает ваш код, но игнорирует возвращаемое значение. Таким образом, вы можете написать:

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

Это не изменит chartData.Series сам, хотя. (Неясно, хотите ли вы это сделать или нет.)

+0

Но мы не знаем, если метод 'chartData.Series.Concat()' возвращает что-либо. Тип возврата также может быть «недействительным». –

+0

Нет ничего, что могло бы помешать вам вернуть результат 'Concat' обратно в' chartData.Series', есть ли? – Rawling

+0

@ Rawling, это все еще зависит от человека, который разработал API в первую очередь. Это может не всегда совпадать с тем, что пытается сделать OP –

Смежные вопросы