Tengo la siguiente matriz de enteros:¿Cómo obtener los 3 elementos principales en una matriz int usando LINQ?
int[] array = new int[7] { 1, 3, 5, 2, 8, 6, 4 };
me escribió el siguiente código para obtener los 3 primeros elementos de la matriz:
var topThree = (from i in array orderby i descending select i).Take(3);
Cuando compruebo lo que hay dentro de la topThree
, encuentro:
{} System.Linq.Enumerable.TakeIterator
cuenta: 0
¿Qué hice mal y cómo puedo corregir mi código?
El objeto en topThree no es el * results *, es la * query *. topThree es un objeto que significa "ordenar la secuencia de elementos en una matriz de mayor a menor y tomar los primeros tres". Eso es * todo * significa. NO significa "8, 6, 5". Significa la * consulta *, no los * resultados *. Puede demostrar esto ejecutando la consulta, luego cambiando la matriz y luego ejecutando la consulta nuevamente. La consulta es exactamente la misma, pero los resultados son diferentes. –