2017-02-20 10 views
-1

Написал этот метод, и он продолжает говорить мне, что не все пути кода возвращают значение. Я не могу понять, какое значение нужно вернуть.Какую ценность должен вернуть этот метод?

public int SelectionSort() 
{ 

    reset(); 
    for (int scan = 1; scan <= work.Length - 1; scan++) 
    { 
     min = scan; 
     max = work[scan]; 

     for (int i = 0; i < work.Length - scan; i++) 
     { 
      if (work[i] < max) 
      { 
       min = work[i]; 
       max = i; 

      } 
     } 
     Swap(work[min], work[scan]); 

    } 
} 
+0

Вы ничего не возвращаете! – mok

+1

В заявлении говорится, что метод должен возвращать int. либо возвратить int, либо изменить объявление на void – tinstaafl

+0

См. также, например. https://stackoverflow.com/questions/20507197/c-sharp-not-all-code-paths-return-a-value-createarmy или многие из [других 665 вопросов] (https://stackoverflow.com/ search? q =% 5Bc% 23% 5D + not + all + code + paths + return + a + value), относящихся к сообщению об ошибке, которое вы получаете. –

ответ

0

не должен возвращать значение, потому что сценарий неудачной попытки или успеха удаляется, просто удалите возвращаемый тип. вы можете тем не менее использовать этот метод для исключения ошибок в параметрах

public void SelectionSort() 
{ 
    if (work == null) throw new ArgumentException("work is null"); 
    .... 
}