随笔分类 -  C#

摘要:C#类在什么时候分配内存 一直以为内存分配是在调用构造函数的时候。现在发现我错了。 昨天在看C++的赋值运算时,想做一下笔记。一个类赋值给另一个类时,先调用构造函数,在给成员变量一个个赋值,静态成员变量不用赋值,因为静态成员变量属于类,被类的所有实例共享,所以不用被赋值,方法属于类,不用被赋值,也赋不了值。突然想到调用静态的属性或方法时不需要调用构造函数,因为调用构造函数只是产生一个新的实例,静态的属性或方法属于类吗,调用它们根本不用产生实例,我突然想尖叫,不调用构造函数,怎么分配内存,不分配内存类的属性存哪里,连内存都没有怎么访问它。所以我猜测内存在调用构造函数之前就分配好了,构造函数只是. 阅读全文
posted @ 2011-08-04 11:35 啊汉 阅读(8131) 评论(83) 推荐(7) 编辑
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;using System.Reflection;namespace CommonFunction{ public class EnumClass { private static object refLock = new object(); private static EnumClass instance=null; public st... 阅读全文
posted @ 2011-03-03 08:47 啊汉 阅读(664) 评论(1) 推荐(0) 编辑
摘要:一个数组存放了2n+1个整数,其中有n个数出现了2次,1个数出现了1次,找出出现1次的数是多少? //方法一:借助辅助数组(长度为n+1,元素为一结构体(包含数值和 //个数两个成员))进行计数,但是时间复杂度为O(n*n),空间复杂度为O(n+1) //本来是想把Val定义为结构体的,但由于结构体是值类型,不是引用类型, //添加到List结合中的元素的属性值不能被修改,把List中的一个元素赋给另一个Val,修改Val中的value和num, //List中对应的Val相关的属性值是不会改变的,因为他们是内存中的两个不同单元 //总之:谁叫我C学得不好,用的是C#呢,不然就用C实现了。 . 阅读全文
posted @ 2010-11-16 11:00 啊汉 阅读(642) 评论(3) 推荐(0) 编辑