Здравствуйте, VladD2, Вы писали:
VD>Это аргумент высосан из пальца пиарщиками из Макрософт. На практике нет никаких проблем написать "SELECT FROM xs", а потом вернуться к секции SELECT и пользоваться комплиту. Парсеру совершенно фиолетово где этот самый SELECT находится.
VD>Надо более критично воспринимать пропаганду пиарщиков. Они любую глупость могут обосновать.
Не вижу в этом смысла. В C# сделано логично ― от источника данных через ряд фильтров и преобразований постепенно продвигаешься к финальному результату. Можно прочитать запрос от начала до конца, не прыгая взад-вперёд, чтобы понять, что в нём откуда берётся.
var closestMarker = (from body in bodies
where body != ignoreBody
from part in body.Parts
from marker in part.attachables.OfType<Marker>()
let distance = Vector3.Distance(marker.WorldPosition, pointerPosition)
where distance < SNAP_DISTANCE_LIMIT
orderby distance ascending
select marker).FirstOrDefault();