jjzjj

WriteLine

全部标签

c# - 使用 .NET 4.5 编写的 Windows 服务中的 Console.Out 和 Console.Error 竞争条件错误

我在生产中遇到了一个奇怪的问题,Windows服务随机挂起,如果您能帮助我分析根本原因,我将不胜感激。该服务是用C#编写的,并部署到装有.NET4.5的机器上(尽管我也可以用.NET4.5.1重现它)。报错是:ProbableI/Oraceconditiondetectedwhilecopyingmemory.TheI/Opackageisnotthreadsafebydefault.Inmultithreadedapplications,astreammustbeaccessedinathread-safeway,suchasathread-safewrapperreturnedby

c# - 使用 Ninject 绑定(bind)到常量和绑定(bind)到作用域中的类型

哪种创建单个对象到接口(interface)的绑定(bind)的方法更可取,何时以及为什么:Kernel.Bind().ToConstant(newFoo());或Kernel.Bind().To(typeof(Foo)).InSingletonScope();或者,如果两种方式都不正确且最好避免,那么应该改用什么? 最佳答案 使用这两种构造,您可以完成相同的任务。然而,在后一种方法中,单个Foo对象的构造被推迟到第一次Get调用时。让我用一个小例子来说明这一点。考虑以下应用程序:classProgram{staticvoidMai

c# - 将 ZeroMQ 与 C# 结合使用,使用 inproc 传输

我正在试验ZeroMQ并尝试让东西工作。我的第一个想法是使用inproc传输设置一个REP/REQ,看看我是否可以在两个线程之间发送消息。下面的大部分代码都取自clzmq示例,但它似乎不起作用。服务器和客户端都绑定(bind)到传输,但是当客户端尝试执行Send时,它会阻塞并只是坐在那里。我没有ZeroMQ经验,所以我不确定首先要看哪里,任何帮助将不胜感激。这是有问题的(冒犯性的)代码:usingSystem;usingSystem.Diagnostics;usingSystem.Threading;usingNUnit.Framework;usingZMQ;namespacePost

c# - 为什么未分配的局部变量不自动初始化?

似乎没有办法在您的代码中包含未分配的局部变量或检查它们,因为编译器会吐出Useofunassignedlocalvariable错误。为什么编译器在编译时不对这些变量使用default(T)?即使对值类型做起来更难,在这种情况下引用类型也可以很容易地初始化为null,对吧?这是一些测试代码:publicvoidTest(){intx;strings;if(x==5)Console.WriteLine(5);if(s!=null)Console.WriteLine("s");}返回:Useofunassignedlocalvariable'x'Useofunassignedlocalva

c# - Console.Writeline 对性能的影响

我的应用程序有4个线程。每个线程实际上是一个Timer并在特定的时间间隔内完成一项单独的工作。这些线程使用Console.Writeline显示它们的日志。性能在此应用程序中非常重要。我想知道删除Console.Writeline是否会调整此应用程序的性能? 最佳答案 是的,执行Console.WriteLine需要大量时间。删除Console.WriteLine调用或将其更改为写入数据的缓冲后台线程将真正加快应用程序的速度。但是,您的里程数可能会因使用的操作系统而异。 关于c#-Con

c# - 如何序列化异步/等待?

假设我有这个简单的片段:asyncvoidbutton_Click(objectsender,RoutedEventArgse){awaitTask.Factory.StartNew(()=>{Console.WriteLine("start");Thread.Sleep(5000);Console.WriteLine("end");});}显然,每次我按下该按钮时,都会启动一个新任务,即使之前的任务仍在运行。我如何将任何新任务推迟到所有以前的任务完成之前?更多细节:在上面的示例中,每个新任务都与之前的任务相同。然而,在原始上下文中,任务的顺序很重要:参数可能会改变(我可以使用Date

c# - 如何计算可用磁盘空间?

我正在处理一个安装程序项目,我需要将文件提取到磁盘中。如何使用C#计算/查找硬盘上的可用磁盘空间? 最佳答案 http://msdn.microsoft.com/en-us/library/system.io.driveinfo.totalfreespace.aspx从链接复制usingSystem;usingSystem.IO;classTest{publicstaticvoidMain(){DriveInfo[]allDrives=DriveInfo.GetDrives();foreach(DriveInfodinallDriv

c# - 使用多播委托(delegate)链接函数

我的问题在以下代码中有详细说明-我问这个的原因是我正在试验委托(delegate)​​://createthedelegatedelegateintdel(intx);classProgram{staticvoidMain(string[]args){Programp;p=newProgram();deld=p.a;d+=p.b;d+=p.c;d+=p.d;d+=p.e;Console.WriteLine(d(10));//返回16....所有函数都会触发,因为各种消息“aiscalled”等都打印到console但只返回从最后一个函数e返回的金额-我在后台假设它们被返回但随后被覆盖?

c# - 在日历之间转换

日历之间如何转换?这是我所拥有的:UmAlQuraCalendarhijri=newUmAlQuraCalendar();GregorianCalendarcal=newGregorianCalendar();DateTimehijriDate=newDateTime(1434,11,23,hijri);DateTimegregorianDate=...;//我需要一个与hijriDate相对应的gregorianDate。 最佳答案 DateTime可以在其构造函数中接受带有替代日历的输入,但在内部它始终使用公历等价物存储。因此,

C# 日期时间解析问题

尝试将日期/时间从字符串转换为DateTime时,我没有得到正确的值。DateTimetestDate=DateTime.ParseExact("2012-08-10T00:51:14.146Z","yyyy-MM-ddTHH:mm:ss.fffZ",CultureInfo.InvariantCulture,DateTimeStyles.AssumeUniversal);我的结果是2012-08-098:51:14PM。为什么会被抵消?我只是希望它具有相同的值(value)。 最佳答案 您正在解析UTC日期,但DateTime.Ki