es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Mostrar lista desde el último archivo hasta el primer guardado.

Quiero revertir el resultado que se muestra en un Combobox. El último archivo guardado aparecería primero, actualmente es lo contrario. Aparece con este código:

string[] files = Directory.GetFiles(@"C:\Test\", "*.TXT");

foreach (string file in files)
{
  comboBox1.Items.Add(Path.GetFileNameWithoutExtension(file));
}

Según mi investigación, la solución sería:

.OrderByDescending(p => p.CreationTime).ToArray(); 

agregado en algún lugar. Pero no sé. Cada intento que he hecho ha sido infructuoso.

Actualmente:

101-00.06.52.TXT
101-00.06.54.TXT
101-00.06.56.TXT

Resultado deseado:

101-00.06.56.TXT
101-00.06.54.TXT
101-00.06.52.TXT

¿Alguien sabe?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para revertir el orden de los elementos mostrados en un ComboBox, puedes modificar el código de la siguiente manera:

    string[] files = Directory.GetFiles(@"C:\Test\", "*.TXT")
                    .OrderByDescending(file => File.GetLastWriteTime(file))
                    .Select(file => Path.GetFileNameWithoutExtension(file))
                    .ToArray();
    
    foreach (string file in files)
    {
        comboBox1.Items.Add(file);
    }
    

    El método OrderByDescending() se utiliza para ordenar los archivos en orden inverso según su última fecha de modificación, y el método Select() se utiliza para extraer solo el nombre del archivo sin extensión. El arreglo resultante se utiliza para poblar el ComboBox con elementos en orden inverso.

    Ten en cuenta que necesitarás agregar la instrucción using System.IO; al inicio de tu archivo para usar la clase File en este código.

Comments are closed.