Если список отсортирован по InstanceName, вы можете использовать алгоритм двоичного поиска, в противном случае: нет.
Вы должны использовать более продвинутую структуру данных (например, отсортированный список или словарь). Я думаю, что словарь будет решением для этого. Это очень быстрый и простой в использовании.
Но подумайте: сколько у вас объектов ? Вы уверены, что , проходящий через них, является проблемой производительности? Если у вас <1000 объектов, вам абсолютно не нужно беспокоиться (если вы не хотите что-то делать в реальном времени). </p>