摘要:
我是个懒人,以至于将近五年的开发经验仅仅停留在自己的大脑中,但是随着时间的推移.我发现大脑这东西在时间面前是那么的不靠普.是时候该用心的整理整理了.那么就从最基础的东西开始:C#编码规范 第一章 概述规范制定原则 1 方便代码的交流和维护。 2 不影响编码的效率,不与大众习惯冲突。 3 使代码更美观、阅读更方便。 4 使代码的逻辑更清晰、更易于理解。术语定义Pascal 大小写 将标识符的首字母和后面连接的每个单词的首字母都大写。可以对三字符或更多字符的标识符使用Pascal 大小写。例如: BackColorCamel 大小写标识符的首字母小写,而每个后面连接的单词的首字母都大写。例如: .
阅读全文
posted @ 2013-05-28 12:46
东溟海
阅读(298)
推荐(0)
摘要:
(以下内容是综合网络整理得来,并不是标准,仅供参考,如哪位有标准写法,希望能分享一下,谢谢)文件头部注释在代码文件的头部进行注释,这样做的好处在于,我们能对代码文件做变更跟踪。在代码头部分标注出创始人、创始时间、修改人、修改时间、代码的功能,这在团队开发中必不可少,它们可以使后来维护/修改的同伴在遇到问题时,在第一时间知道他应该向谁去寻求帮助,并且知道这个文件经历了多少次迭代、经历了多少个程序员的开发和修改。样本:/********************************************************************************** 类名称: Ne
阅读全文
posted @ 2013-02-12 01:12
东溟海
阅读(5438)
推荐(1)
摘要:
问:当我们new一个对象时,会发生什么事?答:调用该类型的构造函数。问题看似简单,不过事实上,CLR做的比这要多。。。要准确回答这个问题,还要分情况来说。new一个引用类型首先,要实例化一个引用类型,就一定需要在堆上分配内存。要分配内存,就需要先计算出这个引用类型占多大空间,需要给它分配多少内存。那怎么计算呢?简单!只要计算该类型所有字段的长度总和就可以啦。我们知道,引用类型的字段,占一个指针的长度(32位机器上是4个字节,64位机器上是8个字节)。值类型的字段长度可以通过递归的方法计算得出(递归终点是遇到引用类型或基本类型)。根据这些信息,我们就可以轻松计算出所有字段长度的总和了。但是实际上
阅读全文
posted @ 2013-02-11 16:44
东溟海
阅读(530)
推荐(0)
摘要:
前一阵子我参加了一次笔试,其中有一道选择题让我印象深刻,是这样的:实例化一个X类型对象时所执行的顺序:A.调用X类型构造函数,调用X类型基类的构造函数,调用X类型内部字段的构造函数B.调用X类型内部字段的构造函数,调用X类型基类的构造函数,调用X类型构造函数C.调用X类型基类的构造函数,调用X类型构造函数,调用X类型内部字段的构造函数D.调用X类型基类的构造函数,调用X类型内部字段的构造函数,调用X类型构造函数我觉的这道题出得很没水平。在C++的世界里,我会毫不犹豫的选D。但是,由于C#引入了字段初始化器,所以选什么答案完全依赖于类具体是如何设计的。好吧,我们今天就来谈谈C#在类型实例化时都有
阅读全文
posted @ 2013-02-11 16:41
东溟海
阅读(791)
推荐(0)
摘要:
刚开始学习C#的时候,就听说CLR对于String类有一种特别的内存管理机制:有时候,明明声明了两个String类的对象,但是他们偏偏却指向同一个实例。如下:String s1 = "Hello";String s2 = "Hello"; //s2和s1的实际值都是“Hello”bool same = (object) s1 == (object) s2; //这里比较s1、s2是否引用了同一个对象实例 ...
阅读全文
posted @ 2013-02-11 16:38
东溟海
阅读(277)
推荐(0)
摘要:
先进行细分:类的成员分为:字段、属性、方法、构造方法成员的修饰符:静态成员、实例成员层次结构:父类、子类先不考虑继承关系,执行顺序为:静态字段静态构造方法实例字段实例构造方法属性和方法是在调用的时候才执行,这里就不考虑了。如何理解上面的执行过程?假如让我来设计执行过程,我该如何考虑,依据是什么?首先,静态的东西是大家共享的,也就是相同的。应该先关心共享的东西,再关系个人的东西。“先公后私”,呵呵。其次,实例化之前,应该先初始化自己的内部数据。现在考虑继承关系,执行顺序为:子类的静态字段子类的静态构造方法子类的实例字段父类的静态字段父类的静态构造方法父类的实例字段父类的实例构造方法子类的实例构造
阅读全文
posted @ 2013-02-11 16:23
东溟海
阅读(372)
推荐(1)
摘要:
当 Windows Form 应用程序启动时,会以下列顺序引发主要表单的启动事件: System.Windows.Forms.Control.HandleCreated System.Windows.Forms.Control.BindingContextChanged System.Windows.Forms.Form.Load System.Windows.Forms.Control.VisibleChanged System.Windows.Forms.Form.Activated System.Windows.Forms.Form.Shown 当应用程序关闭时,会以下列顺序引发主要表单
阅读全文
posted @ 2013-02-11 14:03
东溟海
阅读(493)
推荐(0)
摘要:
今天发现SQL2005突然发疯了,老无法连接数据库,抓狂中用360把它删了重装,谁知道重装更惨....安装时总提示 “性能监视器计数器要求(错误)” ,没法装下去....在百度游荡了一下,欣喜发现有效的解决办法~~现分享如下:在 “开始” --> “运行”中输入 regedit,开启注册表编辑器。定位到 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib 处,点击展开,目录下可以看到Perflib目录下有004和009两个子目录(004是中文版SQL的配置信息之一,009是英文版SQL的配置信息
阅读全文
posted @ 2012-12-12 17:11
东溟海
阅读(243)
推荐(0)
摘要:
C#语言规范1. 命名规范a) 类【规则1-1】使用Pascal规则命名类名,即首字母要大写。【规则1-2】使用能够反映类功能的名词或名词短语命名类。【规则1-3】不要使用“I”、“C”、“_”等特定含义前缀。【规则1-4】自定义异常类应以Exception结尾。【规则1-5】文件名要能反映类的内容,最好是和类同名。b) 类字段【规则2-1】用camel规则来命名类成员变量名称,即首单词(或单词缩写)小写。【规则2-2】类字段变量名前可加“_”前缀。【规则2-3】坚决禁止在普通变量前加“m_”(这是VC老命名规则)。c)方法【规则3-1】方法名采用Pascal规则,第一个字符要大写。【规则3-
阅读全文
posted @ 2012-12-07 15:09
东溟海
阅读(431)
推荐(0)
摘要:
上次发了委托实现的,有朋友问我另一种方法怎么弄,我就顺便发一份:和上次一样,还是创建两个窗口:MainForm和 SubFormMainForm关键代码如下: private void button1_Click(object sender, EventArgs e) { SubForm subform = new SubForm(this); subform.ShowDialog(); } public void doSomething() { //做点什么 ...
阅读全文
posted @ 2012-11-24 18:42
东溟海
阅读(382)
推荐(0)