2016-03-11 60 views
-2

我做了這段代碼,但它沒有給出總結。我仍然可以得到每行的數字,但不總結...我如何統計文本文件中的數字摘要?

using System; 
using System.IO; 
namespace Progaram 
{ 
    class Count 
    { 
     static void Main() 
     { 

      using (StreamReader sr = new StreamReader("file.txt")) 
      { 

       string[] numbers = File.ReadAllLines("file.txt"); 


       int summary = 0; 

       for (int i = 0; i < numbers.Length; i++) 
       { 

        summary += numbers[i]; 

        //Console.WriteLine(numbers[i]); 
       } 

       Console.WriteLine(summary); 

       sr.ReadLine(); 
      } 
     } 
    } 
} 
+2

你需要將字符串轉換爲int int.Parse(numbers [i])' – LibertyLocked

+1

Giv沒有人知道你的文本文件是什麼,這個問題是不可能回答的。 – spender

+0

你真的*算*嗎? – dotNET

回答

1

您目前的解決方案將無法編譯。
您會收到以下編譯錯誤:

Cannot convert type 'string' to 'int'.

您將要分析的字符串轉換成int類型。

此外,您正在使用StreamReader,並在讀取所有行後閱讀單行。在這種情況下,您不需要StreamReader。

using System; 
using System.IO; 

namespace Progaram 
{ 
    class Count 
    { 
     static void Main() 
     { 
      string[] numbers = File.ReadAllLines("file.txt"); 

      int summary = 0; 

      for (int i = 0; i < numbers.Length; i++) 
      { 
       summary += Convert.ToInt32(numbers[i]); 
      } 

      Console.WriteLine(summary);  
     } 
    } 
} 
+0

...是的,它的真正didint認識到,我仍然必須將解析的字符串轉換爲int ....總是缺少......謝謝! – remus

0

您不能將字符串添加到int。

你需要或者整個字符串數組轉換爲int數組

int[] intNumbers = Array.ConvertAll(numbers, int.Parse); 

然後索引這個數組,而不是

summary += intNumbers[i]; 

或者像邁克爾指出,加入

之前將數字轉換[I]
summary += int.Parse(numbers[i]);