繁体   English   中英

将Console.Writeline()语句的最终输出复制到文本文件和数组c#

[英]copy final output of Console.Writeline() statements to a text file and array c#

我正在使用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

我想将上面的整个最终输出数字复制到文本文件和数组。 但我不知道该怎么做。 请帮我。

您可以将它存储到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());

我想说最简单的方法就是实例化一个可写入文件的编写器,然后将其类似于控制台的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#中使用文件有很多材料,所以你也不应该在那里找到帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM