上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 40 下一页
摘要: 我之前写一篇关于事件订阅的文章(事件的好处~实现对修改的封闭,对扩展的开放!~续),但它主要是订阅静态事件,而今天主要讲的是实例事件,即,当一个事件发布者被实例化后,去订阅它里面的事件,然后当这个事件发布者去触发该事件时,自己执行你订阅的内容,这没什么可说的,一切都很正常。但在B/s系统中,常常都有这样一种需求,即:Order类中有方法GeneratorOrder,即生成订单的方法,这个方法会被UI层的很多方法调用,以实现对不同业务产品的购买,如:购买家电产品,购买成功后应该去和家电有关的成功页;而购买日常用品,成功后应该去与日常用户相关的页面;以后还会有其它业务产品的成功页,需要我们去实现。 阅读全文
posted @ 2013-05-09 10:32 于为 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 概念:一个对象的延迟初始化(也称延迟实例化)意味着该对象的创建将会延迟至第一次使用该对象时。延迟初始化主要用于提高性能,避免浪费计算,并减少程序内存要求。以下是最常见的方案:有一个对象的创建开销很大时,应用程序可能不会使用它。例如,假定您在内存中有一个Customer对象,该对象的Orders属性返回一个Orders对象。初始化Orders对象可能需要创建Orders对象的一个大数组(Orders[]),并可能需要数据库连接。如果用户从不访问Orders属性,则没有理由使用系统内存或计算周期来创建Orders对象。通过使用Lazy<Orders>将Orders对象声明为延迟初始化, 阅读全文
posted @ 2013-05-09 10:31 于为 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 当进行“与”运算时,从左向右比较,出现一个为false时,立即退出,不会比较后台的,即使后面的有异常程序也不报错 当进行“或”运算时,从左向右比较,出现一个为true时,立即退出,不会比较后台的,即使后面的有异常程序也不报错 List<int> arr = null; if ( arr != null && arr.Count > 0) //其实arr.Count会报语法错误,但这里是正确的用法,先比较是否为null,如果为空,后面的语句则不会被执行 Console.WriteLine("ok"); else ... 阅读全文
posted @ 2013-05-09 10:30 于为 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 一个人(people),在他60岁之后,就宣布进入晚年了,在这个期间要多注意身体,多体检。namespace NET基础才是重中之重{ /// <summary> /// 人类 /// </summary> public class People { private int age; public string name = "张占占"; //姓名 public string gander = "男"; // 性别 #region 构造方法 public People... 阅读全文
posted @ 2013-05-09 10:29 于为 阅读(170) 评论(0) 推荐(0) 编辑
摘要: .NET中使用stack(栈)和heap(堆)两种结构在内存中存储数据,今天咱们就来说说这两个结构Value Types,值类型 在C#中,值类型继承自System.ValueType的,它们分别是 Bool, byte , char, decimal, double, enu, float, int, long, sbyte, short, struct, uint, ulong, ushortReference Types 引用类型引用类型包括所有的从System.Object继承下来的类型,它们分别是 class, interface, delegate, object,string,其 阅读全文
posted @ 2013-05-09 10:28 于为 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 很多人都不用var,说它在运行时会影响程序的性能,比如下面两个var i = 10; // implicitlyint i = 10; //explicitly说强类型比隐式类型的运行时效率高,其实不是这样的,这两行代码运行时效率一样,因为var是在编译时由编译器把它解释成强类型的。从 Visual C# 3.0 开始,在方法范围中声明的变量可以具有隐式类型 var。 隐式类型的本地变量是强类型变量(就好像您已经声明该类型一样),但由编译器确定类型。所以,以后大家可以放心的用var了,呵呵,只是程序可读性不如强类型。最后说一名,对不起“var",我之前一直冤枉你了。 阅读全文
posted @ 2013-05-09 10:27 于为 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 我们挂在嘴过的一句话就是“static是静态对象,在类第一次被使用,或者第一次被实例化时执行“,但是你是否真正理解这句话,或者说你是否有对这句话进行一个实际的验证,如果没有,那我来带您完成这次旅行吧!首先有一张表,不会经常发生变化,比如分类表,他是一种树型结构表,结构可能是这样 1 /// <summary> 2 /// 分类表 3 /// </summary> 4 public partial class Common_Category : IDataEntity 5 { 6 //初始字段 7 #region o... 阅读全文
posted @ 2013-05-09 10:26 于为 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 派生类可以直接强转为类基类型,而反之则不可以,它们的集合也具有这种特性以下实例是parent是基类,sub是它的派生类,如果有一个sub类型的集合希望转换为parent,那是可以的,它可以广泛的应用于面向接口和面向抽象的编程环境中。 1 class parent 2 { 3 public string name { get; set; } 4 } 5 class sub : parent { } 6 7 #region 由派生类集合强转成父类集合(正确) 8 List<sub> sublist ... 阅读全文
posted @ 2013-05-09 10:24 于为 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 上一篇文章主要让大家知道了基类与派生类,及它们的转换关系,即它们不能相互转换,只能从派生类转换到基类,下面来看一个抽象类和它派生类实现的一种编程方式,即面向抽象的编程。以下是面向抽象的编程实例:(完整代码) 1 /// <summary> 2 /// 基类 3 /// </summary> 4 abstract class parent 5 { 6 public string name { get; set; } 7 } 8 /// <summary> 9 /// 派生类110 /// </summary>... 阅读全文
posted @ 2013-05-09 10:23 于为 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 对于一个程序员来说,有必要知道一个概念的同时也解它的执行过程,这样对于写出更好更安全的程序是有帮助的。大牛们不是一天就成为大牛的,而是经过一步一步的实践,不断的知识的积累才成为大牛的,呵呵。今天是我“基础才是重中之重”文章系列的又一讲,也是最基础的一讲,类,已经class主要从出生到死亡都讲一下,呵呵。1 类的建立public class Person{static person(){} //不写,默认也有个空的public person(){}//不写,默认也有个空的public string Name{get;private set;} //属性,只对本类开放写权限}这样,一个人就产生了, 阅读全文
posted @ 2013-05-09 10:22 于为 阅读(169) 评论(0) 推荐(0) 编辑
上一页 1 ··· 24 25 26 27 28 29 30 31 32 ··· 40 下一页