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.

La lista de arrays de enteros de C# no contiene el elemento.

Mi objetivo es agregar un número desconocido de coordenadas enteras a una colección. Mientras puedo agregar estas coordenadas a esta lista List<int[]> coordList = new List<int[]>(); no puedo verificar si coordList.Contains(coordenadaEspecífica).

Esto es lo que tengo hasta ahora:
cs
List<int[]> coordList = new List<int[]>();
coordList.Add(new int[] {1, 3});
coordList.Add(new int[] {3, 6});
bool contiene = coordList.Contains(new int[]{1, 3})
Console.WriteLine(contiene);

Sin embargo, contiene siempre es falso incluso si especifico los mismos valores que agrego.
He intentado ArrayList como una posible alternativa, pero los resultados son los mismos que usando List.

Si hay algo que no entiendo o si hay una alternativa, estoy dispuesto a escuchar sugerencias.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás buscando una forma de verificar si una coordenada especificada se encuentra en una colección de List<int[]>. Desafortunadamente, el método Contains no funciona como se espera en este caso.

    Una alternativa posible es utilizar el método Any con una expresión lambda para verificar si la coordenada especificada se encuentra en la colección. Por ejemplo:
    cs
    bool contiene = coordList.Any(x => x[0] == 1 && x[1] == 3);
    Console.WriteLine(contiene); // true

    Esto devolverá true si la coordenada especificada está en la colección.

Comments are closed.