04 2012 档案
摘要:最近被问到链表,是一个朋友和我讨论Java的时候说的。说实话,我学习编程的近一年时间里,学到的东西还是挺少的。语言是学了Java和C#,关于Web的学了一点Html+css+javascript。因为比较偏好,学习WinForm时比较认真,数据库操作也自己有所研究。但链表这个东西我还真没有学习和研究过,加上最近自己在看WPF,而课程也到了JSP了,比较紧。 但是我还是抽了一个晚上加半天的时间看了一下单向链表。并且使用Java试着写了一个实例出来。没有接触过链表的朋友可以作为参考,希望大家多提宝贵意见。 当然,我们首先解释一下什么是链表。就我所知,链表是一种数据结构,和数组同级。比如,J...
阅读全文
摘要:Windows操作系统是图形界面的,而这是由于信息队列机制的功劳。 通常我们说的消息,很多是广义的概念,我们把对象之间的通信称作消息交互。通过消息,对象之前建立起联系。 那么我们WinForm程序中的消息是指什么呢?我们说:WinForm程序中的消息,很多时候是指操作系统向WinForm窗体(这里说得不是很对,但是先这样理解没有问题)发送的消息,告诉它某一个事件发生了。比如鼠标点击,我们是不可能知道、窗体本身也不会知道鼠标被点击,但操作系统知道鼠标被点击了,它会发送消息到窗体告诉它:鼠标被点击了,你应该做出反应了。 当消息被窗体拿到之后,窗体会处理。比如鼠标被点击了,操作系统通过发消...
阅读全文
摘要:我们平时使用Microsoft VisualStudio 2010即VS.NET作为项目开发时,可能有一些觉得麻烦:启动麻烦,要么在桌面设置快捷图标,但是难看;要么在命令行敲devenv,但是如果记不住或者您在安装了VS2010后又安装了VS2008,那么启动的理所当然,您启动的就是VS2008…… 而您可以通过注册表键值的修改达到简化的目的。 您可以通过多种手段打开注册表,并设置一下键值: 看到了吗?这里本来应该是devenv.exe,您需要将它更改为您方便记忆的名字。另外,它的值您也需要设置到VS2010启动程序,如下: 您需要按照以上设置,其实一般来说只需要改动左边的键名...
阅读全文
摘要:上次我们简要且肤浅地介绍了委托,我们复习一下吧:委托是方法的类型,委托是和类同级的概念,使用delegate关键字声明,每一个委托都代表了具有相同参数和返回值的一类方法,委托并不是为了代表某一个方法而存在的,它并不关心其实例的具体实现和造成结果、访问修饰等等。 我们现在来略微深入地学习一下委托:我们主要介绍委托的可以代表多个同类方法的特性。 比如以下示例: 1 using System; 2 3 namespace DelegateEG 4 { 5 6 // 委托 7 public delegate void ExampleHandler(); 8 9 c...
阅读全文
摘要:本文的内容需要一定的OOP知识,不过我会在另一个内容介绍,由于实现细节,我会先写这部分。 大家关于委托、事件和消息大多是从WinForm编程接触的,首先是你在可视化的设计器里双击控件写所谓事件的处理代码,让编译器帮你做其他事情。然后可能你会听说,事件是和委托有关系的,你可能又会听说事件处理机制和消息也是有关系的。 那么什么是委托,什么是事件,什么是消息呢? 不急,我们从委托开始。 委托是什么?我先撂一句话:委托是方法的类型。 为什么这么说,大家知道,从类和对象的关系来看。对象是类的实例,类是对象的类型,类是对象的抽象,对象拥有类的所有属性和方法,委托和方法的关系也是如此。(如果觉...
阅读全文