摘要: 这是一个经常被时时提出来的问题,很多时候我们以为理解了、懂了,但深究一下,我们却发现并不懂。 方法是我们每天都在写得,很多程序员大多都使用实例化方法,而很少使用静态方法,问原因也说不出来所以然,或者简单的回答两者定义的区别,静态方法不需要new就可以使用 实例化方法需要new了以后才可以使用。。。。我们真的理解了吗? 从实际项目开发说起,这里有开发项目的三种方式: 开发项目中把BLL和DAL分开,... 阅读全文
posted @ 2009-03-23 15:21 北北 阅读(1567) 评论(1) 推荐(2) 编辑
摘要: 反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道。 程序代码在编译后生成可执行的应用,我们首先要了解这种... 阅读全文
posted @ 2009-03-23 14:49 北北 阅读(401) 评论(0) 推荐(0) 编辑
摘要: 堆和堆栈的区别 一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态... 阅读全文
posted @ 2009-03-23 14:38 北北 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 我们都知道,c#的两大数据类型分别为值类型和引用类型。很多人或许闭着眼睛都能说出值类型包括简单类型、结构体类型和枚举类型,引用类型包括自定义类、数组、接口、委托等,但是当被问及到二者之间的联系和区别,什么时候用struct什么时候用class时,就常常混淆不清了。为此,了解值类型和引用类型的本质差异就变的很有必要了。 值类型直接存储其值,变量本身就包含了其实例数据,而引... 阅读全文
posted @ 2009-03-23 14:24 北北 阅读(7119) 评论(1) 推荐(3) 编辑
摘要: 常见问题: Ilist 本身只是一个泛型接口, 既然是接口当然不能实例化,只能用如下方法 IList IList11 =new List (); 但是为什么要这么用呢,为什么不直接用List: List List11 =new List (); 第一种用法有什么好处。 总结归纳一下: Ilist 是在 .net2.0里面才支持的 好处嘛..比如说human和tiger都有行走... 阅读全文
posted @ 2009-03-23 14:14 北北 阅读(2271) 评论(4) 推荐(1) 编辑
摘要: 在公共语言运行库和 C# 语言的早期版本中,通用化是通过在类型与通用基类型 Object 之间进行强制转换来实现的,泛型提供了针对这种限制的解决方案。通过创建泛型类,您可以创建一个在编译时类型安全的集合。 使用非泛型集合类的限制可以通过编写一小段程序来演示,该程序利用 .NET Framework 基类库中的 ArrayList 集合类。ArrayList 是一个使用起来非常方便的集合类,无需进行... 阅读全文
posted @ 2009-03-23 14:09 北北 阅读(462) 评论(0) 推荐(0) 编辑