скопируйте окончательный вывод операторов Console.Writeline() в текстовый файл и массив С#

Я использую VS2013, и я новичок в программировании. В моей программе есть операторы Console.Writeline, как показано ниже. Частота — это двойная переменная, которая выводит пиковые значения частот в режиме реального времени.

 if (Frequency > 328 && Frequency < 330)
 {                               
     Console.WriteLine(Frequency.ToString());
 }
 if (Frequency > 245 && Frequency < 247)
 {
     Console.WriteLine(Frequency.ToString());
 }
 if (Frequency > 195 && Frequency < 197)
 {
     Console.WriteLine(Frequency.ToString());
 }

Как только я запускаю программу, она выводит вот так.

196.5654296875
246.9658203125
196.3984375
246.0322265625
196.5654296875
246.798828125
246.46484375
329.0322265625
329.0322265625
329.265625

Я хочу скопировать все окончательные выходные числа в текстовый файл, а также в массив. Но я понятия не имею, как это сделать. Помогите мне, пожалуйста.


person chade    schedule 27.06.2015    source источник
comment
Вы хотите, чтобы какой-то код записывался в текстовый файл в вашем коде? Рад дать некоторые   -  person Drew    schedule 28.06.2015
comment
System.IO.File.AppendAllText(C:\\dir1\\file1.txt,ToString()). Чтобы сохранить текст в массиве, используйте List‹int›частоты = new List‹int›() и сохраните частоты: frequencies.Add(Frequency)   -  person Graffito    schedule 28.06.2015
comment
Спасибо, что ответили мне, Граффито и Дрю. граффити, это именно то, что я хотел, и большое спасибо :)   -  person chade    schedule 28.06.2015


Ответы (2)


Вы можете сохранить его в List<string> и распечатать его в файл, например

 List<string> freq = new List<string>();

 if (Frequency > 328 && Frequency < 330)
 {                               
     Console.WriteLine(Frequency.ToString());
     freq.Add(Frequency.ToString());
 }

System.IO.File.WriteAllLines(@"D:\test\frequency_output.txt", freq.ToArray());
person Rahul    schedule 27.06.2015

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

using (StreamWriter outfile = new StreamWriter("C:\numbers.txt"))
{
    if (Frequency > 328 && Frequency < 330)
    {                               
     Console.WriteLine(Frequency.ToString());
     outfile.WriteLine(Frequency.ToString());
    }
    if (Frequency > 245 && Frequency < 247)
    {
     Console.WriteLine(Frequency.ToString());
     outfile.WriteLine(Frequency.ToString());
    }
    if (Frequency > 195 && Frequency < 197)
    {
     Console.WriteLine(Frequency.ToString());
     outfile.WriteLine(Frequency.ToString());
    }   
}

Дополнительную информацию о StreamWriter можно найти здесь: https://msdn.microsoft.com/pl-pl/library/System.IO.StreamWriter%28v=vs.110%29.aspx

Конечно, это не очень эффективно, но с этого стоит начать.

Материала по работе с файлами на C# полно, так что проблем с поиском помощи и там у вас возникнуть не должно.

person jjczopek    schedule 27.06.2015