Ho una lista dei Foo:Converti Lista <T> in un altro elenco <T> che contiene un altro elenco <T>
class Foo {
public int Id { get; set; }
public String Name { get; set; }
}
E voglio convertirlo in un elenco Bar:
class Bar {
public int Id { get; set }
public List<String> NameList { get; set; }
}
I dati in Foo assomiglia a questo:
Id Name
-----------
1 Foo1
1 Foo2
1 Foo3
2 Foo3
2 Foo2
2 Foo1
E voglio che guardi In questo modo:
Id NameList
----------------
1 Foo1
Foo2
Foo3
2 Foo3
Foo2
Foo1
Lo sto facendo in modo che sia più facile da visualizzare in una lista non ordinata di Razor reso in Html. Inoltre, se c'è un modo semplice per farlo senza conversione, per favore fatemelo sapere.
In definitiva, io visualizzare il codice HTML in questo modo:
<li>1
<ul>
<li>Foo1</li>
<li>Foo2</li>
<li>Foo3</li>
</ul>
</li>
<li>2
<ul>
<li>Foo3</li>
<li>Foo2</li>
<li>Foo1</li>
</ul>
</li>
Finora ho provato il seguente codice LINQ, ma non ha funzionato
BarList = FooList.Select(x => new Bar() {
Id = x.Id,
NameList = x.Select(y => y.)
}).ToList();
Controllare l'istruzione 'GroupBy' di LINQ, fa esattamente questo. https://msdn.microsoft.com/en-us/library/bb545971.aspx –
È necessario 'GroupBy', assolutamente. Ma potresti voler chiarire la tua uscita prevista, non ha molto senso. – Jonesopolis
Whoops! All'inizio ho frainteso la domanda. Esegui comunque un'implementazione "GroupsOf": http://ideone.com/Z4mNWp –