摘要: 1.引言买了新本本,忙了好几天系统,终于开始了对值类型和引用类型做个全面的讲述了,本系列开篇之时就是因为想写这个主题,才有了写个系列的想法。所以对值类型和引用类型的分析,是我最想成文的一篇,其原因是过去的学习过程中我就是从这个主题开始,喜欢以IL语言来分析执行,也喜好从底层的过程来深入了解。这对我来说,似乎是一件找到了有效提高的方法,所以想写的冲动就没有停过,旨在以有效的方式来分享所得。同时,我也认为,对值类型和引用类型的把握,是理解语言基础环节的关键主题,有必要花力气来了解和深入。2. 一切从内存开始 2.1 基本概念 从上回《第七回:品味类型---从通用类型系统开始》我们知道,CLR支持两 阅读全文
posted @ 2012-09-14 16:41 海燕一家 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 堆栈和托管堆 c# 分类: 计算机 2008-11-04 14:54 2094人阅读 评论(6) 收藏 举报 原文地址:http://blog.csdn.net/baoxuetianxia/archive/2008/11/04/3218913.aspx首先堆栈和堆(托管堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB)堆栈stack 堆栈中存储值类型。堆栈实际上是向下填充,即由高内存地址指向低内存地址填充。堆栈的工作方式是先分配内存的变量后释放(先进后出原则)。堆栈中的变量是从下向上释放,这样就保证了堆栈中先进后出的规则不与变量的生命周期起冲突!堆栈的性能非常高,但是对于 阅读全文
posted @ 2012-09-14 16:40 海燕一家 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 单一职责原则SRP:SingleResponsibilityPrinciple开放封闭原则OCP:Open-ClosePrincipleLiskov替换原则LSP:LiskovSubstitutionPrinciple依赖倒置原则DIP:DependencyInvertionPrinciple接口隔离原则ISP:InterfaceSeparatePrinciple 在面向对象设计中,如何通过很小的设计改变就可以应对设计需求的变化,这是令设计者极为关注的问题。为此不少OO先驱提出了很多有关面向对象的设计原则用于指导OO的设计和开发。下面是几条与类设计相关的设计原则。1.开闭原则(theOpen. 阅读全文
posted @ 2012-09-14 16:40 海燕一家 阅读(385) 评论(0) 推荐(0) 编辑
摘要: ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/fxref_mscorlib/html/63c619e3-0969-2f01-a2d4-79d0868a98c6.htm备注CultureInfo 类呈现区域性特定的信息,如关联的语言、子语言、国家/地区、日历和区域性约定。此类还提供对 DateTimeFormatInfo、NumberFormatInfo、CompareInfo 和 TextInfo 的区域性特定实例的访问。这些对象包含区域性特定操作(如大小写、格式化日期和数字以及比较字符串)所需的信息。String 类间接地使用此类来获取有关默认区域性的信息 阅读全文
posted @ 2012-09-14 16:39 海燕一家 阅读(2048) 评论(0) 推荐(0) 编辑
摘要: 本文将介绍以下内容: • 面向对象思想:多态• 接口• 抽象类1.引言在我之前的一篇post《抽象类和接口的谁是谁非》中,和同事管伟的讨论,得到很多朋友的关注,因为是不成体系的论道,所以给大家了解造成不便,同时关于这个主题的系统性理论,我认为也有必要做以总结,因此才有了本篇的新鲜出炉。同时,我将把上贴中的问题顺便也在此做以交代。2. 概念引入· 什么是接口? 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。接口方法不能包含任何实现,CLR允许接口可以包含事件、属性、索引器、静态方法、静态字段、静态构造函数以及常数。但是注意:C#中不能包含任何静态成员。一个类可 阅读全文
posted @ 2012-09-14 16:38 海燕一家 阅读(157) 评论(0) 推荐(0) 编辑
摘要: .net操作xml小结 一、简单介绍using System.Xml;//初始化一个xml实例XmlDocument xml=new XmlDocument();//导入指定xml文件xml.Load(path);xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));//指定一个节点XmlNode root=xml.SelectSingleNode("/root");//获取节点下所有直接子节点XmlNodeList childlist=root.ChildNodes;/ 阅读全文
posted @ 2012-09-14 16:37 海燕一家 阅读(174) 评论(0) 推荐(0) 编辑
摘要: wince小技巧 一、修改wince桌面的方法修改注册表项即可,如下:[HKEY_CURRENT_USER/ControlPanel/Desktop]"Wallpaper"="/windows/windowsce.bmp"把windowsce.bmp替换成你自己的图象就可以了,当然了,需要首先把你的图片考到bsp的FILES文件夹,后者在编译完以后考到RELEASEDIR里面二、开机后直接运行您的程序而不显示Windows CE桌面首先编译你的平台,在RELEASEDIR里面修改shell.reg的文件 :在文件中有这样一行:[HKEY_LOCAL_MA 阅读全文
posted @ 2012-09-14 16:36 海燕一家 阅读(254) 评论(0) 推荐(0) 编辑
摘要: string.Empty不分配存储空间 ""分配一个长度为空的存储空间 所以一般用string.Empty为了以后跨平台,还是用string.empty在 C# 中,大多数情况下 "" 和 string.Empty 可以互换使用。比如:string s = "";string s2 = string.Empty;if (s == string.Empty) {// }if语句成立 判定为空字符串的几种写法,按照性能从高到低的顺序是:s.Length == 0 优于 s == string.Empty 优于 s == "&qu 阅读全文
posted @ 2012-09-14 16:35 海燕一家 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 代表元是C#中比较复杂的概念,C#中的代表元和C/C++中的函数指针非常相似使用代表元可以把代表元内部方法的引用封装起来然后通过它使用代表元引用的方法。它有一个特性就是不需要知道被引用的方法属于那一个类对象只要函数的参数个数与返回类型与代表元对象一致。这样说可能比较抽象我下面举几个简单的例子希望能给广大初学者一些基本的认识//定义一个返回值为string的无参数的代表元注意这个代表元只能引用对象中返回值为string的无参数方法delegatestringMyDelegate();publicclassMyClass{publicstringSayHello(){return"Hel 阅读全文
posted @ 2012-09-14 16:34 海燕一家 阅读(242) 评论(0) 推荐(0) 编辑
摘要: C#获取当前路径的方法如下:1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName -获取模块的完整路径。2. System.Environment.CurrentDirectory-获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. System.IO.Directory.GetCurrentDirectory()-获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C:\P 阅读全文
posted @ 2012-09-14 16:33 海燕一家 阅读(161) 评论(0) 推荐(0) 编辑