В Javascript, например, настоятельно рекомендуется размещать вызовы функций за пределами циклов для лучшей производительности:
var id = someIdType.ToString();
someList.Where(a => a.id == id) ...
Как насчет С#? В том же случае или использует ли компилятор/среда выполнения внутреннюю оптимизацию/кэширование?
someList.Where(a => a.id == someIdType.ToString()) ...
Вероятно, вопрос о нобе и был задан раньше, но не может найти ссылку.