Как читать из данного файла данных? - PullRequest
0 голосов
/ 10 ноября 2010

Я в университете, изучаю информатику.

На самом деле это мое первое большое задание, но они еще не научили нас, как делать основные моменты в нем.

Что яНужна помощь в том, что моя программа должна взять информацию из исходного файла .dat и использовать информацию из этого файла .dat для выполнения своих оценок оценки и т. д. Они еще не научили нас этому (и я не думаю, что они будут доприсвоение даты), как взять информацию из этого исходного файла!

Формат файла .dat содержит строку одиночных символов, разделенных пробелом:

ABCADFE

Буду очень признателен за любую помощь, которую кто-нибудь может оказать мне в этой области!

Ответы [ 4 ]

4 голосов
/ 10 ноября 2010

Предполагая, что ваш файл будет простым текстом, а каждая запись - одной строкой ... тогда вы можете просто сделать это:

var lines = File.ReadAllLines("grades.dat");

foreach(var line in lines)
{
    //Do some parsing here
}

То, как вы анализируете свои строки, будет сильно зависеть отформат, который вы не указали.

ОБНОВЛЕНИЕ:

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

File.ReadAllText

String.ToCharArray

Char.IsWhiteSpace

foreach,in

switch

Это должно быть почти все, что вам нужно для выполнения работы.Приятного чтения:)

1 голос
/ 10 ноября 2010

При отсутствии какой-либо информации о формате файла я могу предложить только базовые вещи.

краткое руководство по открытию файла http://www.csharp -examples.net / FileStream-открытый файл /

краткое руководство по чтению файла http://www.csharp -examples.net / FileStream-чтения файла /

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

Я схватил эти два урока за несколько секунд в поисках "c # open file", это важный первый шаг, поскольку хотя это лучше, чем в большинстве мест, люди в Интернете обычно реагируют негативно, когда вы еще не провели фундаментальное исследование

1 голос
/ 10 ноября 2010

Взято из здесь (не моя работа):

StreamReader reader = new StreamReader("MyFile.dat");
string strAllFile = reader.ReadToEnd().Replace("\r\n", "\n").Replace("\n\r", "\n");
string[] arrLines = strAllFile.Split(new char[] { '\n' });
textBox1.Text = arrLines[0];
textBox2.Text = arrLines[2];

То есть чтение первой строки из файла .dat и помещение ее в textbox1, а затем чтение строки 3 и помещениеэто в textbox2 с использованием массива.

StreamWriter writer = new StreamWriter("MyFile.dat");
writer.WriteLine("Hello");
writer.WriteLine("World");

То есть запись hello и world в две строки в файле .dat.

0 голосов
/ 10 ноября 2010

Первый шаг, который вы должны сделать, это записать шаги, которые предпримет ваша программа.

например,

  1. начать работу
  2. загрузить файл данных
  3. выполнить вычисления
  4. использовать результаты расчетов
  5. прекратить выполнение

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

Не зная ничего о формате вашего файла, вычислениях, которые нужно сделать, или о том, что вы собираетесь делать с результатамиваши расчеты означают, что я не могу больше объяснить.

Некоторые основы:

Загрузка файла

using(StreamReader sr = new StreamReader("filename.dat"))
{
    //use your file here
    //e.g
    var lines = sr.ReadToEnd().Split(new [] {Environment.NewLine}, StringSplitOptions.None);
    //will read all of the lines in your file into an string[]
}

Простые расчеты

using System.Linq
//other code
//given that numbers is IEnumerable<double>
double average = numbers.Average()
double sum = numbers.Aggregate((tot, n) => tot+n);
double sumOfSquares = numbers.Select(n => n*n).Aggregate((tot, n) => tot + n);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...