2016-09-30 237 views
-2

我想獲得下面的代碼來打印出「總和」到控制檯,它編譯罰款和一切,但從來沒有打印出總和。有人可以給我一個提示嗎?謝謝。C#:Console.WriteLine不打印出結果

class Program 
{ 
    static void Main(string[] args) 
    { 
     // Not sure how to call "ArraySum" from here. 
    } 

    public void ArraySum() 
    { 
     int[] arr = { 1, 2, 3, 4, 5 }; 
     int sum = 0; 

     foreach (int x in arr) 
     { 
      sum += x; 
     } 
     Console.WriteLine(sum); 
    } 

編輯:抱歉沒有發佈整個代碼,但是。基本上我不知道如何從main調用該方法並將其打印出來。

+3

你有沒有打過'ArraySum'? – Carcigenicate

+2

我認爲重複是錯誤的。他沒有說在他看到它之前就關閉了,他說它只是不打印。 – Carcigenicate

+3

您可能不會從'main()'中調用此方法,或者在您有機會讀取輸出之前控制檯窗口會消失。後者請參閱[重複](http://stackoverflow.com/questions/8868338/why-is-the-console-window-closing-immediately-without-displaying-my-output)。如果不適用,請閱讀[問]並提供[mcve],其中包含足夠的代碼以正確顯示問題。 – CodeCaster

回答

0

爲了得到這個工作就像你知道了:

static void Main(string[] args) 
{ 
    ArraySum(); 
} 

但是,如果你嘗試編譯這一點,你會看到類似an object reference is required ... Program.ArraySum()的錯誤消息。

爲什麼?

Main()static - 簡單地說,這意味着你不創建它的一個實例 - 只有一個。因此,除了上述之外,更新ArraySum()static還有:

static void ArraySum() 
{ 
    //your code 
} 

,它應該像你期望。

編輯:

順便不爽,this tutorial幫了我很多,當我第一次開始,我會強烈推薦它。

+0

@ L.B當然,但在評論中已經包含了這些內容,所以我只是添加了其他方面的內容。 – levelonehuman

+0

非常感謝,這非常有用。肯定會檢查RPG教程順便說一句。 –