摘要:简介序列化是指将对象实例的状态存储到存储媒体的过程。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。在面向对象的环境中实现序列化机制时,必须在易用性和灵活性之间进行一些权衡。只要您对此过程有足够的控制能力,就可以使该过程在很大程度上自动进行。例如,简单的二进制序列化不能满足需要,或者,由于特定原因需要确定类中那些字段需要序列化。以下各部分将探讨 .NET 框架提供的可靠的序列化机制,并着重介绍使您可以根据需要自定义序列化过程的一些重要功能。持久存储我们经常需要将对象的字
阅读全文
摘要:1.类是对对象的抽象,可以把抽象类理解为把类当作对象,抽象成的类 接口只是一个行为的规范或规定,微软的自定义接口总是后带able字段,证明其是表述一类类“我能做。。。”抽象类更多的是定义在一系列紧密相关的类间,而接口大多数是关系疏松但都实现某一功能的类中 2.接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法; 3.一个类一次可以实现若干个接口,但是只能扩展一个父类 4.接口可以用于支持回调,而继承并不具备这个特点. 5.抽象类不能被密封。 6.抽象类实现的具体方法默认为虚的,但实现接口的类中的接口方法却默认为非 虚的,当然您也可以声明为虚的。 7.(接口)与非抽象类类似,抽象类也
阅读全文
摘要:数组是具有相同数据类型的项的有序集合。要访问数组中的某个项,需要同时使用数组名称及该项与数组起点之间的偏移量。 1.一维数组: 一维数组以线性方式存储固定数目的项,只需一个索引值即可标识任意一个项。 1).声明在C#中,数组声明中的方括号必段跟在数据类型后面,且不能放在变量名称后面。如: a). int[] arr; //声明 arr=new int[5]; //设置数组大小 2).初始化 a).C#数组元素可以在创建时进行初始化,但初始值设定项的数目必须与数组大小完全匹配。可以用此功能在同一行声明并初始化C#数组。如: -1-. int[] arr; arr=new int[5]{12,5.
阅读全文
摘要:比如说一个学校有多个学院,有学院数据表table1如下:============================IDName----------------------------1中文学院2外国语学院3计算机学院4社会科学学院============================然后每个学院都会有多个专业,有专业表table2如下:==================================IDXueYuanIdZYName11汉语专业21汉语专业二31汉语专业三43信息管理专业53软件专业63计算机信息专业====================================现
阅读全文
摘要:例子如下图: 查询出来的结果多加一列,这一列的值为,当icode_ind有子分类,则该列的值为1,否则为0。是否有子类,看一下那表就很明显我的规则了。 实现的SQL语句: 1.Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->select a.iCode_ind,a.icode,case when b.iCode_ind is null then 0 else 1 endfrom TabA a outer apply (select top 1
阅读全文