Я собирался поместить это в качестве комментария, но в итоге получилось слишком длинным, от комментариев к ответу ZombieSheep:
@ Ди, есть ли конкретная причина, по которой вы не можете написать цикл для захвата значений?
Просто ради производительности. - Ди
Вы измерили это и подтвердили, что циклы по рядам являются для вас узким местом? Остерегайтесь преждевременных оптимизаций, которые могут в конечном итоге замедлить работу.
Не забывайте, что авторы компиляторов - люди более умные, чем я, возможно, также и вы, и все, что вы в итоге делаете, вероятно, в конечном итоге будет скомпилировано до того же MSIL.