2013-04-15 3 views
-1

현재 UNI에 대한 과제를 수행하고 있으며 의 내용을 십진수/이중 배열로 가져 오는 방법에 대해 매우 혼란 스럽습니다. "데이터 파일에서 12 개의 점수 (십진수)를 읽고 어레이에 저장하고 중간 10 점의 평균을 계산하려면 컴퓨터 프로그램이 필요합니다. 즉, 12 개 점수 중 가장 높은 점수와 가장 낮은 점수는 평균 계산에 포함되지 않습니다. "십진수 배열을 읽는 방법 C#

나는 최선의 결과를 주었지만 짧은 시간에이 오류를 수정하는 방법을 모르겠다. "암시 적으로 문자열 []을 십진수 []로 변환 할 수 없다."나는 이것이 파일을 사용하고 있기 때문에 믿는다. 필자가 생각하는 ReadAllLines은 문자열에만 적용됩니다.

using System.IO; 

namespace ConsoleApplication9 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      Decimal[] Score = File.ReadAllLines("Scores.txt"); 
      Decimal max = Score.Max(); 
      Decimal min = Score.Min(); 
      Console.WriteLine(max + min); 
      Decimal sum = Score.Sum(); 
      for (int index = 0; index < Score.Length; index++) 
      { 
       Console.WriteLine(Score[index]); 
      } 
      Console.ReadKey();  


      } 
    } 
} 

희망 하시겠습니까? 오후 8시 30 분 P.S. 텍스트 파일에는 숫자 만 있습니다.

답변

1

파일을 읽으면 문자열 값이 반환됩니다. 당신은 그들을 캐스팅해야합니다. 목록에 캐스팅 된 값을 저장하고 목록의 ToArray() 메서드를 사용하여 최대 값과 최소값을 가져오고 Count 속성을 사용하여 중간 값을 가져 오는 것이 좋습니다.

1

통화와 같습니다. 먼저 교환/변환해야합니다.

var allString = File.ReadAllLines("Scores.txt"); 
var arrString = allString.Split('\n'); 

for (int index = 0; index < arrString.Length; index++) 
    Score[index] = Decimal.Parse(arrString[index]); 
관련 문제