Здравствуйте, McSpace, Вы писали:
MS>или уже через Linq, а именно Standard Query Operators
MS>например Single:
MS>int id = 4;
MS>Point p = mydatalist.Single(p => p.x == id);
Нет, как раз Single и не подойдёт — она пробегает последовательность до конца и возвращает единственное значение. Если ничего не найдено или найдено больше одного, то будет исключение.
До первого вхождения ищет First или FirstOrDefault.