摘要: .NET将数据类型分为值类型(value type)和引用类型(reference type)一个具有值类型(value type)的数据存放在栈内的一个变量中。即是在栈中分配内存空间,直接存储所包含的值,其值就代表数据本身。值类型的数据具有较快的存取速度。一个具有引用类型(reference type)的数据并不驻留在栈中,而是存储于堆中。即是在堆中分配内存空间,不直接存储所包含的值,而是指向所要存储的值,其值代表的是所指向的地址。当访问一个具有引用类型的数据时,需要到栈中检查变量的内容,该变量引用堆中的一个实际数据。引用类型的数据比值类型的数据具有更大的存储规模和较低的访问速度。值类型(1 阅读全文
posted @ 2011-08-09 16:32 DebugLZQ 阅读(2105) 评论(0) 推荐(2) 编辑
摘要: 关于Debug和Release之本质区别 使用条件编译来完成区分编译Debug版本和Release版本: 1、首先来看一段代码: package { import flash.display.Sprite; public class TestBuild extends Sprite { CONFIG::debug public function TestBuild() { graphics.beginFill(0xff0000,1); graphics.drawRect(0,0,100,100); } CONFIG::release public function TestBuild() { 阅读全文
posted @ 2011-08-09 16:29 DebugLZQ 阅读(891) 评论(2) 推荐(2) 编辑
摘要: 反射:是指对一个程序集中的元数据进行检查的过程。可以利用反射做下面这些事情:(1)访问程序集中的元数据;(2)使用元数据在运行时动态调用一个类型的成员,而不是执行编译时绑定。特性(attribute):是在一个程序集中插入额外的元数据,并将这些元数据同一个编程构造(比如类、方法或者属性)关联起来的一种方式。 阅读全文
posted @ 2011-08-09 16:28 DebugLZQ 阅读(543) 评论(0) 推荐(2) 编辑
摘要: private、protected、public和internal的区别private是完全私有的,只有在类自己里面可以调用,在类的外部和子类都不能调用,子类也不能继承父类的private的属性和方法。protected虽然可以被外界看到,但外界却不能调用,只有自己及自己的子类可以调用(protected的属性和方法都可以被子类所继承和调用)。private和protected的共同点:外部都不可以访问。private和protected的不同点:在同一类中可视为一样,但在继承中就不同了,private在派生类中不可以被访问,而protected可以。public对任何类和成员都完全公开,无限 阅读全文
posted @ 2011-08-09 16:24 DebugLZQ 阅读(608) 评论(0) 推荐(2) 编辑
摘要: 1. sealed——“断子绝孙” 密封类不能被继承。密封方法可以重写基类中的方法,但其本身不能在任何派生类中进一步重写。当应用于方法或属性时,sealed修饰符必须始终与override一起使用。 即:密封类不会有子类,所以是“断子绝孙”。2. new——“你是我的,我是我的” new关键字用于显式隐藏从基类继承的成员。也就是在使用派生类时调用的方式方法是new关键字新定义出来的方法,而不是基类的方法。 在不使用new修饰符的情况下隐藏成员是允许的,但会生成警告。使用new显式隐藏成员会取消此警告,并使用派生类新定义的方法。 即:好比是不用祖宗的东西,而是用自己创造(new)的东西。3. v 阅读全文
posted @ 2011-08-09 16:23 DebugLZQ 阅读(2848) 评论(6) 推荐(5) 编辑
摘要: 托管代码中的字符串是一类特殊的对象,它不可被改变的,每次使用 System.String 类中的方法之一或进行运算时(如赋值、拼接等)时,都要在内存中创建一个新的字符串对象,也就是为该新对象分配新的空间。这就带来两个问题:1:原来的字符串是不是还在内存当中?2:如果在内存当中,那么机密数据(如密码)该如何保存才足够安全?先来看第一个问题:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->publicclass Program{staticv 阅读全文
posted @ 2011-08-09 16:21 DebugLZQ 阅读(461) 评论(0) 推荐(2) 编辑
摘要: 最近对代码作了一些优化,试验后效果还可以,但是发现界面会闪烁,具体是TreeView控件会闪烁,语言为C#,IDE为VS2005。在查阅一些资料,使用了一些基本技术后(如开启双缓冲),发现没什么效果。于是使用Profiler工具,查找出瓶颈在于每次更新完界面的EndUpdate操作(使用这个是为了减少界面更新次数,但这里不理想是因为控件中中的元素很多),猜想大概每次更新,.Net底层都会更新重绘每个图元,所以速度会慢,造成闪烁。但是如果这样,使用双缓冲应该会有较好效果。再看代码,发现可能是更新动作太过频繁,于是降低速度,有所好转,但还是不行。继续在网上查阅,最终找到一个方案比较合适。原来底层重 阅读全文
posted @ 2011-08-09 16:17 DebugLZQ 阅读(1088) 评论(0) 推荐(2) 编辑
摘要: 我们用的比较多的非泛型集合类主要有 ArrayList类 和HashTable类。我们经常用HashTable 来存储将要写入到数据库或者返回的信息,在这之间要不断的进行类型的转化,增加了系统装箱和拆箱的负担,14:31:45,例如我们需要在电子商务网站中存储用户的购物车信息(商品名,对应的商品个数)时,完全可以用 Dictionary<string, int> 来存储购物车信息,而不需要任何的类型转化。1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小, 但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的 阅读全文
posted @ 2011-08-09 16:14 DebugLZQ 阅读(3834) 评论(0) 推荐(3) 编辑
摘要: 昨天下午在公司没事,动手写了几道面试题,我也不是闲的发慌,就是感觉每天写业务方面的代码写长了,思维不是很局限,想做下算法题活跃下思维! 欢迎发表意见和拍砖!题目1输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。View Code /// <summary> /// 获得数组最大子数组的和 /// </summary> / 阅读全文
posted @ 2011-08-09 16:02 DebugLZQ 阅读(1461) 评论(2) 推荐(4) 编辑
摘要: C# codenamespace UDPServer{class Program{static void Main(string[] args){int recv;byte[] data = new byte[1024];//构建TCP 服务器//得到本机IP,设置TCP端口号IPEndPoint ipep = new IPEndPoint(IPAddress.Any , 8001);Socket newsock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram , ProtocolType.Udp);//绑定网络地址newso 阅读全文
posted @ 2011-08-09 15:59 DebugLZQ 阅读(9073) 评论(2) 推荐(3) 编辑