Member 12833990 Ответов: 2

Как я возвращаю массив


static string diziKarsilastir(ArrayList a, ArrayList b)
        {
            string[] dizi = new string[4];
            for(int i = 0; i<4; i++)
            {
                if(a[i].ToString() == b[i].ToString())
                {
                    dizi[i] = "true";
                }
                else
                {
                    dizi[i] = "false";
                }
            }
            
            return dizi[];
       
        }


Что я уже пробовал:

Я хочу вернуть Дизи массив, но я получаю ошибку. (Ошибка Cs0443 синтаксическая ошибка; ожидаемое значение) Когда я использую for loop ; (
Ошибка CS0161 ' Form1.diziKarsilastir(ArrayList, ArrayList)': не все пути кода возвращают значение)

2 Ответов

Рейтинг:
2

#realJSOP

Вам, наверное, нужна квитанция.

А если серьезно...

Ваш метод, скорее всего, вызовет исключение, если один из параметров содержит менее четырех элементов или имеет значение null. Ваш метод никогда не пройдет проверку кода или даже достаточно полный модульный тест.

Решение Медхи Голама - это ответ, который вы ищете, но я бы также рефакторировал этот метод, чтобы он был более надежным.


Рейтинг:
12

Mehdi Gholam

dizi это string[] таким образом, ваша функция должна быть :

static string[] diziKarsilastir(ArrayList a, ArrayList b)
{
...
}


РЕДАКТИРОВАТЬ:
Вам нужно удалить квадратные скобки из оператора return:
return dizi;


Midi_Mick

Кроме того, ваш оператор return будет ошибочным - не включайте квадратные скобки. C# это не нравится. Улучшая ответ Мехди, чтобы включить это.

Member 12833990

верни Дизи; все в порядке ! :)

Member 12833990

Спасибо.. string[] работает ! :)