Actualmente tengo la siguiente sintaxis (la lista es una lista que contiene los objetos con muchas propiedades diferentes (donde título es uno de ellos):encontrar el artículo en ObservableCollection sin necesidad de utilizar un bucle
for (int i=0; i < list.Count; i++)
{
if(title == list[i].Title)
{
//do something
}
}
¿Cómo puedo acceder al list[i].Title
sin tener que recorrer toda mi colección? Dado que mi lista tiende a crecer, esto puede afectar el rendimiento de mi programa.
Tengo mucha sintaxis similar en mi programa (accediendo a propiedades públicas a través de un ciclo for y por índice). Pero estoy seguro de que debe haber una manera mejor y más elegante de hacerlo?
El método find parece ser una opción ya que mi lista contiene objetos.
Busque LINQ to Objects. – Phil
Puede usar linq, como [Buscar] (http://msdn.microsoft.com/en-us/library/x0b5b5bc.aspx) o puede implementar su propio diccionario con soporte para [INotifyCollectionChanged] (http: // msdn .microsoft.com/es-us/library/system.collections.specialized.inotifycollectionchanged.aspx) – dowhilefor
Un diccionario tiene una búsqueda muy rápida en la clave, pero la clave debe ser única. Como el título no es único, teme que se requiera un ciclo. Optimiza la clase para asegurarte Title get; no es descuidado Si el objeto tiene una clave primaria interna, anule GetHashCode con la clave. – Paparazzi