摘要: 1.结构不能够创造无参数的构造函数2.结构产生在stack堆栈中,类产生在heap堆中。3. 结构中进行相互的赋值,可以创建新的结构,类中的相互赋值,只是复制了引用。4.从执行的效率来看,stack堆栈执行效率要比heap堆中要高,但是实际中,stack只是适合执行逻辑小的对象,而堆heap可以执行更加复杂的商业逻辑。5.结构不能够像类那样派生接口。6.结构不能够像类一样被继承。7.结构中提供默认的不带参数的构造方法,并且不允许替换,类中同样提供不带参数的构造方法。但是允许替换。8.结构中不存在析构函数,类中存在析构函数。9.结构中不允许使用sealed、abstract、virtual等关键 阅读全文
posted @ 2011-03-09 18:01 许明吉博客 阅读(218) 评论(0) 推荐(0) 编辑
摘要: .c#中的foreach是类型下面的foreach(int i in arr){}2.c#中允许使用goto语句使用方法是 goto 标示符,其中标示符使用相应的标示符字母加上:3.c#中允许小范围的跳动,但是不允许跨函数或者说方法的跳转4.goto语句也可以在switch中使用5.throw语句是一种抛出语句。6.引用传递最终的结果,可能会改变传递的参数的值,值传递,不改变值7.out的关键字一般是为了让一个方法有多个返回值8.在一个项目中,声明的全局变量可以被涵盖在命名空间namespace中。而一个类当中的所谓的全局变量则必须用static关键字来修饰。9.常用方法9.1变量转字符串的方 阅读全文
posted @ 2011-03-09 18:01 许明吉博客 阅读(243) 评论(0) 推荐(0) 编辑
摘要: 类和结构体的区别 1. class和structure很相似, 从技术层面讲,class是引用,而structure则是数值. 有人很形象的说 class里有行动,方法,成员,是有机体的结合,而structure则是活生生的有机体, 2. 通俗的理解,class包涵structure, class里有方法拉,成员拉,什么滴, 而structure只有数据,二 .类与结构的差别%%%类成员默认是private,而结构体默认是 public。 1.值类型与引用类型 结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,string 对应 阅读全文
posted @ 2011-03-09 17:11 许明吉博客 阅读(468) 评论(1) 推荐(0) 编辑
摘要: 结构体的定义:结构体也可以象类一样可以单独定义.class a{};struct a{};结构体也可以在名字前面加入控制访问符.public struct student{};internal struct student{};如果结构体student没有publice或者internal的声明类program就无法使用student结构定义obj对象如果结构体student的元素没有public的声明,对象obj就无法调用元素x因为默认的结构体名和元素名是*******类型程序:using System;public struct student { public int x; };clas 阅读全文
posted @ 2011-03-09 15:31 许明吉博客 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 快捷键 功能CTRL + SHIFT + B:生成解决方案CTRL + F7 :生成编译CTRL + O :打开文件CTRL + SHIFT + O:打开项目CTRL + SHIFT + C:显示类视图窗口F4 :显示属性窗口SHIFT + F4:显示项目属性窗口CTRL + SHIFT + E:显示资源视图F12 :转到定义CTRL + F12:转到声明CTRL + ALT + J:对象浏览CTRL + ALT + F1:帮助目录CTRL + F1 :动态帮助F1 :帮助SHIFT + F1:当前窗口帮助CTRL + ALT + F3:帮助-搜索SHIFT + ALT + ENTER:全屏显 阅读全文
posted @ 2011-03-09 15:25 许明吉博客 阅读(846) 评论(0) 推荐(0) 编辑
摘要: C#读取XML文档两种方法的比较从何谈起呢?让我们首先来看看XMLTextReader和XmlDocument读取XML文件的比较:C#读取XML文档之在.NET框架的System.XML名称空间中包含的XMLTextReader类不需要对系统资源要求很高,就能从XML文件中快速读取数据。使用XMLTextReader类能够从XML文件中读取数据,并且将其转换为HTML格式在浏览器中输出。读本文之前,读者需要了解一些基本知识:XML、HTML、C#编程语言,以及.NET尤其是ASP.NET框架的一些知识。C#读取XML文档的解决为目的,微软公司的.NET框架为开发者提供了许多开发的便利,随着X 阅读全文
posted @ 2011-03-09 12:35 许明吉博客 阅读(4628) 评论(0) 推荐(0) 编辑
摘要: 读取XML到ListBox/ComboBox1,知识需求:(1)访问XML文件的两个基本模型:一,DOM模型;使用DOM的好处在于它允许编辑和更新XML文档,可以随机访问文档中的数据,可以使用XPath查询,但是,DOM的缺点在于它需要一次性的加载整个文档到内存中,对于大型的文档,这会造成资源问题。二,流模型;流模型很好的解决了这个问题,因为它对XML文件的访问采用的是流的概念,也就是说,任何时候在内存中只有当前节点,但它也有它的不足,它是只读的,仅向前的,不能在文档中执行向后导航操作。虽然是各有千秋,但我们也可以在程序中两者并用实现优劣互补。C#采用流模型。流模型每次迭代XML文档中的一个节 阅读全文
posted @ 2011-03-09 12:32 许明吉博客 阅读(1425) 评论(0) 推荐(0) 编辑
摘要: 上文讨论了C#本身提供的2种透明窗体制作方法,但在有些情况下满足不了需要,这里再提供2种方法供参考。UpdateLayeredWindow()和GraphicsPath。 关于用Windows api的SetLayeredWindowAttributes(),bitblt()制作透明窗体在这里不再讨论。SetLayeredWindowAttributes()可参照上文,bitblt()类似于UpdateLayeredWindow()。 (1)UpdateLayeredWindow就是把一幅图片(有alpha通道)作为窗体,做出的显示效果非常好,同时问题也来了,窗体上的任何控件是看不到的。比如. 阅读全文
posted @ 2011-03-09 12:24 许明吉博客 阅读(8157) 评论(2) 推荐(2) 编辑
摘要: 制作透明窗体办法有好几种,各有优缺点.我们先来看看C#本身提供的办法1:通过设置窗体的TransparencyKey实现 例:窗体中的白色会变成透明Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> this.BackColor =Color.White; this.TransparencyKey = Color.White;2:通过设置窗体的Opacity 实现 例:窗体的透明度为50%Code highlighting produced b 阅读全文
posted @ 2011-03-09 12:23 许明吉博客 阅读(30477) 评论(3) 推荐(3) 编辑
摘要: if MessageDlg('Welcome to my Delphi application. Exit now?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin Close; end;MessageDlg用法对话框类型:mtwarning——含有感叹号的警告对话框mterror——含有红色叉符号的错误对话框mtinformation——含有蓝色i符号的信息对话框mtconfirmation——含有绿色问号的确认对话框mtcustom——不含图标的一般对话框,对话框的标题是程序的名称按钮组中的按钮:mbYes——m 阅读全文
posted @ 2011-03-09 12:16 许明吉博客 阅读(31479) 评论(0) 推荐(4) 编辑
摘要: 我们在程序中经常会用到MessageBox。 MessageBox.Show()共有21中重载方法。现将其常见用法总结如下:1.MessageBox.Show("Hello~~~~");最简单的,只显示提示信息。2.MessageBox.Show("There are something wrong!","ERROR");可以给消息框加上标题。3.if (MessageBox.Show("Delete this user?", "Confirm Message", MessageBoxButto 阅读全文
posted @ 2011-03-09 12:02 许明吉博客 阅读(873) 评论(0) 推荐(0) 编辑