Основной фреймворк это net45, библиотека собирается под netcoreapp3.1, они не совместимы, чтобы собрать с 4.5 совместимую библиотеку, TargetFramework должен быть netstandart1.1
1. Массив 7х7, для каждого, ходим помечая посещенные клетки, проверяем перед ходом, выход за пределы или занятость, и меняем направление
2. делаем одномерный массив координат спирали, и проходим по ней, сразу зная какие будут координаты.
Локальные переменные хранятся на стекле, и им выделяется конкретное место. В случае
int my_number = 10;
my_number = 20;
Перезапишется значение на стеке.
Да и нникаких оптимизаций при компиляции в байт код не делается, это делает JIT и то при release сборке. Все ненужные присваивания и неиспользуемые переменные выкидываются.
Еще как используется, среди всего приложения, как контроллеры ищутся?
Раньше рефлексия пользовалась для сериализации, десериализации, маперов классов и подобного, го рефлексия это настолько медленная штука, что от нее отошли.
В принципе, это мощный инструмент, в умелых руках, но вам пока туда рано. Как сказал Николай Савельев
var s="1,2,3,4,5,6,7,8,9";
var pairs=s.Split(',').Select(Int32.Parse).Where(w => w%2==0).ToArray();
var notpairs=s.Split(',').Select(Int32.Parse).Where(w => w%2!=0).ToArray();
соответственно массив pairs содержит парные, notpairs не парные, ну проверить chekbox и от него плясать уж сами сделайте.