草庐IT

console.readline

全部标签

c# - Release模式下 Console.SetOut 的问题?

我的代码中有一堆Console.WriteLines,我可以在运行时观察它们。我与我也编写的native库进行通信。我想在native库中添加一些printf并观察它们。但是我在运行时看不到它们。我创建了一个复杂的helloworld应用程序来演示我的问题。当应用程序运行时,我可以调试到native库并看到调用了helloworld。但是,输出永远不会出现在文本编写器中。请注意,如果相同的代码作为控制台应用程序运行,则一切正常。C#:[DllImport("native.dll")]staticexternvoidTest();StreamWriterwriter;publicForm

c# - 设计一个F#模块被C#调用(Console/MVC/WPF)

我一直在尝试使用DeedleF#Library编写F#批处理程序。它工作得很好。但是,我不确定以下2个任务的最佳设计:将F#模块合并到现有的ASP.netMVC/WebApi系统中创建一个WPF界面作为各种F#模块的控制面板和视觉依赖Controller。F#模块执行的任务类型是处理时间序列和应用统计过程来导出新的时间序列。我一直在尝试为现有模块创建一个类包装器,以便可以从C#代码中调用它。我从C#DeepDive读到这是向C#调用者公开F#模块的更好方法。以下是示例包装器:typeTimeSeriesDataProcessor(fileName:string)=letmutable_

c# - Console/Win 服务应用程序不需要 ConfigureAwait(false),对吗?

我使用async/await有一段时间了,但最近深入研究,并阅读了很多最佳实践提示,默认总是使用ConfigureAwait(false)防止死锁,提高性能。我只是想确保我没有遗漏任何东西,因为我认为这仅适用于实际当前SynchronizationContext或TaskScheduler正在运行的情况,对吗?如果我有一个正在响应消息/命令/等的Windows服务应用程序。异步地,它总是只使用默认的调度程序=可能等待完成的线程池线程将执行延续,因此没有死锁,使用ConfigureAwait(false)也不会产生性能差异,正确?不是我不能把它放在那里,而是我非常讨厌嘈杂的代码.....

c# - Console.ReadKey 与带有计时器的 Console.ReadLine

以下代码是一个众所周知的示例,用于显示调试版本和发布版本之间的区别:usingSystem;usingSystem.Threading;publicstaticclassProgram{publicstaticvoidMain(){Timert=newTimer(TimerCallback,null,0,2000);Console.ReadLine();}privatestaticvoidTimerCallback(Objecto){Console.WriteLine("InTimerCallback:"+DateTime.Now);GC.Collect();}}如果您使用调试配置运行

c# - Serial Port ReadLine vs ReadExisting 或如何从串口正确读取数据

我正在从串口读取数据。数据超出了规模。我现在正在使用Readline(),即使在我删除DiscardInBuffer()之后数据也会丢失。从串口读取数据的正确方法是什么?网上的例子太少了,我觉得这就像是无人问津的chalice。C#、WinCE5.0、HP瘦客户机、Compact框架2.0privatevoidWeighSample(){this._processingDone=false;this._workerThread=newThread(CaptureWeight);this._workerThread.IsBackground=true;this._workerThread

c# - File.ReadLines 什么时候释放资源

在C#中处理文件时,我习惯于考虑释放相关资源。通常这是一个using语句,除非它是一个单行方便的方法例如File.ReadAllLines,它将为我打开和关闭文件。.Net4.0引入了便捷方法File.ReadLines。这将返回一个IEnumerable并被称为处理文件的更有效方式-它避免将整个文件存储在内存中。为此,我假设枚举器中有一些延迟执行逻辑。显然,由于此方法返回的是IEnumerable而不是IDisposable,因此我不能按照我对using语句的直觉react去做。我的问题是:考虑到这一点,使用此方法在资源释放方面是否存在任何问题?调用此方法是否意味着关联文件锁的释放是

c# - Debug.WriteLine() 与 Console.WriteLine() 处理文化的方式不同。为什么?

考虑以下控制台应用程序代码:Thread.CurrentThread.CurrentCulture=newCultureInfo("en-GB");Thread.CurrentThread.CurrentUICulture=Thread.CurrentThread.CurrentCulture;DateTimedate=newDateTime(2014,01,19);Console.WriteLine("{0}",date);//Prints19/01/2014Debug.WriteLine("{0}",date);//Prints01/19/2014Debug.WriteLine(d

c# - 为 Console.Write 添加前缀的推荐方法是什么?

我正在寻找一种向每个Console.Write[Line]插入前缀(日期和时间)的方法。我正在寻找一种推荐的方法,就像更改输出的推荐方法是使用Console.SetOut.我很清楚我可以执行String.Format("{0}{1}",DateTime.Now,msg),但我试图将其作为最后的手段。问题是输出在运行时是可变的,默认的已经附加了当前时间。如果我将它附加到我的代码中,我将复制日期。有这样的事吗?我正在使用Monotouch,所以我只能使用为其编译的库。 最佳答案 您需要inherit从System.IO.TextWrit

c# - StreamReader.Readline() 真的是计算文件行数最快的方法吗?

环顾四周,我发现了很多关于如何计算文件行数的讨论。例如这三个:c#howdoIcountlinesinatextfileDeterminethenumberoflineswithinatextfileHowtocountlinesfast?所以,我继续前进并最终使用了我能找到的似乎最有效(至少在内存方面?)的方法:privatestaticintcountFileLines(stringfilePath){using(StreamReaderr=newStreamReader(filePath)){inti=0;while(r.ReadLine()!=null){i++;}return

c# - 在循环外添加一个 Console.WriteLine() 会改变循环的计时 - 为什么?

考虑以下代码:usingSystem;usingSystem.Diagnostics;namespaceDemo{classProgram{staticvoidMain(string[]args){Stopwatchsw=newStopwatch();for(inttrial=0;trial当我使用VisualStudio2010在Windows7x64上编译并运行此版本的RELEASEx86版本时,我得到以下计时(在IntelCorei7上运行)loop1()took00:00:01.7935267loop2()took00:00:01.4747297loop3()took00:00