2017-02-20 39 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/搜索?q =%5Bc%23%5D +不是+全部+代碼+路徑+返回+ a +值)與您收到的錯誤消息相關。 –

回答

0

它不應該返回一個值,因爲沒有失敗或成功的場景刪除只需刪除返回類型。您可以使用此方法在參數中引發錯誤例外

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