Нет, вы не правильно определили типы возвращаемых данных, поскольку у вас вообще нет никаких возвращаемых значений в этом коде.
Посмотрим, что может сделать код ...
Первая проблема - это строка:
if (pictureBox34.Image == Image.FromFile("pic/siyahsah2.jpg"))
Метод FromFile
создаст новый объект, и, поскольку этот объект никогда не будет тем же самым объектом, который хранится в графическом блоке, условие всегда ложно и метод f
никогда не вызывается.
В методе picarray
вы используете переменную pic
, но она не будет той же самой переменной, которая используется в методе f
, так как эта переменная объявлена локально в этом методе,
В методе f
вы объявляете массив графических блоков, которыми вы манипулируете, но затем вы просто выходите из метода, ничего не делая с массивом, поэтому массив просто уходит, и результат никогда нигде не будет виден.
Поскольку массив только что создан, он содержит только нулевые ссылки, поэтому копирование их из одного элемента в другой в массиве ничего не дает. Вы также копируете элементы из двух позиций в одну и ту же позицию, поэтому вторая копия будет перезаписывать первую.
Поскольку переменные i
и j
установлены в ноль, [i - 1, j - 1]
попытается получить доступ к элементу, который находится за пределами массива, что даст вам исключение.
Вы пытаетесь сохранить что-либо в свойстве Image
одного из элементов в массиве, но, поскольку все элементы в массиве имеют значение null, нет графического окна, для которого можно установить свойство Image
.
Трудно сказать, что вы пытаетесь сделать, но эта информация должна, по крайней мере, помочь вам понять, что код не делает.