Domanda

Come deve risolvere la questione in modo ASC?

Ho List<List<UInt32>> pieno di registrazioni di List<UInt32> e voglio quei record per essere ordinati in base alla prima colonna in ogni record -. La colonna è UInt32 numero

Ho Lista:

new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 22,2,2,2,2,2
new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 1,1,1,1,1

che dovrebbe essere ordinati a:

List<UInt32>: 1,1,1,1,1
List<UInt32>: 22,2,2,2,2,2
new List<UInt32>: 32,1,1,1,1,1
new List<UInt32>: 32,1,1,1,1,1

-> Solo la prima questione il numero! altri non sono importanti per l'ordinamento. Sto cercando per cosa ASC, ma entrambi sarebbe fantastico così quando penso algoritmo dovrebbe essere cambiato, mi guarderò in su:)

Grazie per il vostro sforzo per aiutare!

@Samuel, Grazie, cercherò di attuarlo quando provo a cambiare il tipo:)

È stato utile?

Soluzione

Quasi un duplicato di:

Come ordinare List > secondo il List numero di campi?

Qualcosa di simile:

var sorted = parent.OrderBy( l => l[0] );

o

parent.Sort( (a,b) => a[0].CompareTo( b[0] ) )

Altri suggerimenti

Mentre la risposta di Giovanni funziona, vi suggerirei di usare First() invece di accedere l'elemento 0 nella lista. In questo modo funziona per qualsiasi IEnumerable<T> non solo IList<T>.

var sorted = list.OrderBy(subList => subList.First());
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top