Utilizzando C# e Linq come restituire l'elenco < ....> con la dimensione/conteggio più grande?Elenco di restituzione con conteggio massimo utilizzando Linq
risposta
e suoni come se si dispone di n liste e si desidera individuare quella con il maggior numero.
Prova questo:
List<int> ints1 = new List<int> { 10, 20, 30 };
List<int> ints2 = new List<int> { 1, 2, 3, 4 };
List<int> ints3 = new List<int> { 100, 200 };
var listWithMost = (new List<List<int>> { ints1, ints2, ints3 })
.OrderByDescending(x => x.Count())
.Take(1);
Ora avete la lista con il maggior numero di elementi. Considera lo scenario in cui esistono più di 2 liste con lo stesso numero superiore di elementi.
Grazie mille !! una soluzione abbastanza completa :) –
Probabilmente è meglio usare '.First()' piuttosto che '.Take (1)', perché in questo caso si recupera la lista invece di una lista con un elemento contenente la lista. – recursive
int[] numbers = new int[] { 1, 54, 3, 4, 8, 7, 6 };
var largest = numbers.OrderByDescending(i => i).Take(4).ToList();
foreach (var i in largest)
{
Console.WriteLine(i);
}
sostituire i => i
con una funzione che definisce "grande formato/conteggio".
Suppongo che tu abbia una raccolta di elenchi denominata lists
e che tu voglia restituire l'elenco in questa raccolta che ha il maggior numero di elementi. Se è così, provate questo:
var listWithLargestCount = lists.OrderByDescending(list => list.Count()).First();
In alternativa, se questo è LINQ to Objects e hai un sacco delle liste si potrebbe desiderare di provare questo per ottenere prestazioni migliori evitando la O (n log n) tipo:
int maxCount = lists.Max(list => list.Count());
var listWithLargestCount = lists.First(list => list.Count() == maxCount);
grazie Marco! Mi piace la tua soluzione. grazie per il factoring in tempo di specie :) che sarà molto utile ... –
- 1. Come ottenere il massimo() di un conteggio() con LINQ
- 2. dividere un elenco utilizzando LINQ
- 3. Come trovare il valore massimo per ogni chiave in un elenco di dizionari utilizzando LINQ?
- 4. Trova il secondo massimo in un elenco di valori utilizzando linq C#
- 5. Trovare consecutivi voci di elenco utilizzando LINQ
- 6. C# LINQ conteggio elementi con DISTINCT
- 7. Restituisce un conteggio con linq-to-sql
- 8. Linq con gruppo avendo il conteggio
- 9. Conteggio delle parole in una raccolta utilizzando LINQ
- 10. ID SELEZIONANDO il conteggio massimo dell'id
- 11. Come trovare il conteggio massimo usando mysql?
- 12. Elenco di ordinamento in C# con LINQ
- 13. gruppo voci di elenco con LINQ
- 14. Eccezione di semaforo - L'aggiunta del conteggio specificato al semaforo causerebbe il superamento del conteggio massimo
- 15. JPQL con sottoquery per selezionare il conteggio massimo
- 16. selezionare il conteggio massimo al secondo
- 17. Restituzione query Linq true o false
- 18. utilizzando LINQ per raggruppare un elenco di oggetti
- 19. LINQ: Raggruppa per e scegliendo da un elenco di oggetti in base al valore massimo
- 20. È possibile utilizzare Linq per ottenere un conteggio totale di elementi in un elenco di elenchi?
- 21. Trova il conteggio di elementi duplicati in un elenco C#
- 22. Creare un elenco di un tipo di oggetto da un elenco di un altro utilizzando Linq
- 23. elementi classifica in un elenco con LINQ
- 24. Mappare un elenco di modelli di oggetti su un altro elenco utilizzando linq
- 25. Ottenere l'indice del valore corrispondente in Elenco utilizzando LINQ
- 26. Restituzione elenco dal metodo async/attendi
- 27. Conteggio di inversioni utilizzando BIT
- 28. Conteggio dell'associazione figlio principale schiacciato in LINQ
- 29. interrogazione xmlnode utilizzando LINQ
- 30. selezionare il conteggio (Id) in LINQ
Uhm, conto di cosa? Potresti spiegare ulteriormente, ad es. con esempio di input e output. –