摘要:
先看示例:static void Main(string[] args) { int? aa=null; Console.WriteLine(aa ?? -1); Console.Read(); }这里定义了一个可空的整型aa,并给它赋值为null,然后输出。 一个问号表示这个类型可以为null,2个问号表示这个类型如果为空的话,给此类型赋予问号后面的值.static void Main(string[] args) { int? aa=null; ... 阅读全文
摘要:
前些日子,看到园子里面有人用老王喝茶的例子讲解了一下同步和异步,虽然没有代码实现,但是能够通俗易懂的讲解了同步、异步、阻塞、非阻塞的关系了,今天借题发挥,用一个热水器加热洗澡的例子来具体演示一下C#使用委托进行异步编程。首先引用MSDN中的一段话来描述一下如何使用异步方式.NET Framework 允许您异步调用任何方法。 为此,应定义与您要调用的方法具有相同签名的委托;公共语言运行时会自动使用适当的签名为该委托定义 BeginInvoke 和 EndInvoke 方法。BeginInvoke 方法启动异步调用。 该方法与您需要异步执行的方法具有相同的参数,还有另外两个可选参数。 第一个参数 阅读全文
摘要:
问题描述:在最近的windows程序中,由于实现了winform程序点击窗口的关闭按钮,不直接退出程序,而是将程序最小化到托盘中,这样当程序没有退出之前,直接关机会导致关机不能正常进行。 问题原因:操作系统会在用户点击关机后,发送一个关闭的消息到当前运行的应用程序,这个消息的ID号问0x11,这样当应用程序接受到消息后就会关闭自身,然后操作系统就可正常关闭了。但是我们在实现了上面的功能后,会在FormClosing事件中添加一段代码,?e.Cancel = true; //最小化到托盘 NormalToMinimized(); 这样我们虽然实现了功能,但是在接受到操作系统发送来的关闭窗口的.. 阅读全文