2016-03-28 15 views
0

Aşağıdaki liste var:Başka bir listede (C#) bulunan listedeki ilk konuma eleman nasıl eklenir?

var menuList = new List<MenuItem>; 

bu Listesinin ilk unsurudur:

menuList.Add(new List<MenuItem>) 

ben içindedir Listesinin ilk pozisyonda tip MenuItem bir öğe eklemek istiyorum başka bir liste.

+1

Yani soru olarak nasıl birinci, ikinci 'list 'tutarak iki' Liste 's birleştirmek? –

+3

Sorunuz bir açıklama olarak biraz açık değil - ne demek istediğini gösteren bir [mcve] verebilir misiniz? (Özellikle, 'Listesinin bir öğesi başka bir liste olamaz 'List ' -' MenuItem 'olmalıdır.) –

+0

Hayır. Sadece başka bir listedeki bir listeye ilk pozisyonda bir eleman eklemek istiyorum. List.Insert (0, MenuItem) gibi, ancak listeden listede bunu yapmak istiyorsanız, .NET bana bu seçeneği vermiyor. – Svetoslav

cevap

1

Ekle/o kadar List<MenuItem> sadece MenuItem gerekli listeyi oluşturmak üzere kabul edecek olanı olarak tanımlanır çünkü menuList için List<MenuItem> eklemek için izin verilmez. Eklemek böylece List<List<MenuItem>> kullanarak bunu elde edebilirsiniz Endişelenmeyin/Bu listelerin listesi için koddur SuperMenu

List<MenuItem> menuList = new List<MenuItem>(); 
menuList.Add(new MenuItem() { Name = "a",.. }); 
menuList.Insert(0, new MenuItem() { Name = "B",.. }); 
List<List<MenuItem>> SuperMenu = new List<List<MenuItem>>(); 
SuperMenu.Add(menuList); 
1

için List<MenuItem> s eklemek ... başka bir deyişle bir liste onun öğeleri olan listeleri

List<List<MenuItem>> menuItems = new List<List<MenuItem>>(); 
for (int i = 0 ; i < menuItems.Count(); i++) 
{ 
    MenuItem itemToInsert; // "something"; 
    List<MenuItem> innerList = menuItems[1];//Returns inner list at index i 
    innerList.Insert(0, itemToInsert);// Now insert anywhere you want 
}