Я недавно был укушен (на мой взгляд, слишком общепринятым) значением Concat
, которое возвращает результат, а не добавляется в сам список
Например.
List<Control> mylist=new List<Control>;
//.... after adding Controls into mylist
MyPanel.Controls.Concat(mylist); //This will not affect MyPanel.Controls at all.
MyPanel.Controls=MyPanel.Controls.Concat(mylist); //This is what is needed, but the Controls reference can not be reassigned (for good reason)
Так есть ли другой способ объединения двух списков, который будет работать, когда ссылка на коллекцию доступна только для чтения?
Это единственный способ сделать это с foreach?
foreach(var item in mylist){
MyPanel.Controls.Add(item);
}
Есть ли лучший путь без foreach?