2019年6月20日
摘要: C#中所有对象共同的基类是System.Object 阅读全文
posted @ 2019-06-20 10:17 二进制--洒脱 阅读(589) 评论(0) 推荐(0) 编辑
摘要: String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不会。所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用 String 如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder 阅读全文
posted @ 2019-06-20 10:14 二进制--洒脱 阅读(1234) 评论(0) 推荐(0) 编辑
摘要: 1. XML是区分大小写字母的,HTML不区分。 2. 在HTML中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p>或者</li>之类的结束 标记。在XML中,绝对不能省略掉结束标记。 HTML:<img src="1.jpg"><br><br> XML:<img src=" 阅读全文
posted @ 2019-06-20 10:11 二进制--洒脱 阅读(593) 评论(0) 推荐(0) 编辑
摘要: using可以声明namespace的引入,还可以实现非托管资源的释放,实现了IDisposiable的类在using中创建,using结束后会自动调用该对象的Dispose方法,释放资源。加分的补充回答:using其实等价于try……finally,用起来更方便 阅读全文
posted @ 2019-06-20 10:09 二进制--洒脱 阅读(494) 评论(0) 推荐(0) 编辑
摘要: 不同点: 不能直接实例化接口。 接口不包含方法的实现。 接口可以多继承,类只能单继承。 类定义可在不同的源文件之间进行拆分。 相同点: 接口、类和结构都可以从多个接口继承。 接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。 接口和类都可以包含事件、索引器、方法和属性。 基础知识 阅读全文
posted @ 2019-06-20 10:06 二进制--洒脱 阅读(1384) 评论(0) 推荐(0) 编辑
摘要: 1.将一个值类型变量赋给另一个值类型变量时,将复制包含的值。引用类型变量的赋值只复制对对象的引用,而不复制对象本身。 2.值类型不可能派生出新的类型:所有的值类型均隐式派生自 System.ValueType。但与引用类型相同的是,结构也可以实现接口。 3.值类型不可能包含 null 值:然而,可空 阅读全文
posted @ 2019-06-20 10:05 二进制--洒脱 阅读(157) 评论(0) 推荐(0) 编辑
摘要: C/C++中由程序员进行对象的回收像学校食堂中由学生收盘子,.Net中由GC进行垃圾回收像餐馆中店员去回收。 GC是垃圾收集器(Garbage Collection)。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。GC只能处理托管内存资源的释放,对于非托管资源则不能使用GC进行回收,必须由程 阅读全文
posted @ 2019-06-20 10:04 二进制--洒脱 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义;局部值类型变量、值类型参数等都在栈内存中。 堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。 阅读全文
posted @ 2019-06-20 10:03 二进制--洒脱 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Class可以被实例化,属于引用类型,是分配在内存的堆上的。类是引用传递的。 Struct属于值类型,是分配在内存的栈上的。结构体是复制传递的。 Int32、Boolean等都属于结构体。 阅读全文
posted @ 2019-06-20 10:02 二进制--洒脱 阅读(252) 评论(0) 推荐(0) 编辑
摘要: CTS:Common Type System 通用类型系统。Int32、Int16→int、String→string、Boolean→bool。每种语言都定义了自己的类型,.Net通过CTS提供了公共的类型,然后翻译生成对应的.Net类型。 CLS:Common Language Specific 阅读全文
posted @ 2019-06-20 10:01 二进制--洒脱 阅读(166) 评论(0) 推荐(0) 编辑
摘要: C#是一种程序设计语言,运行在.net CLR上,是创建应用程序的高级语言。 .net是一个平台,抽象的平台概念 实现形式是库:1、定义了基本的类型(通用类型系统CTS,common type system)。 2、包含.net公共语言运行库(CLK,common language runtime, 阅读全文
posted @ 2019-06-20 09:58 二进制--洒脱 阅读(1782) 评论(0) 推荐(0) 编辑
摘要: Object是引用类型,但是它的子类Int32竟然不能去Object能去的“要求必须是引用类型” 的地方,违反了继承的原则,所以需要把Int32装在Object中才能传递。 装箱:从值类型接口转换到引用类型。 拆箱:从引用类型转换到值类型。 object obj = null;//引用类型 obj 阅读全文
posted @ 2019-06-20 09:19 二进制--洒脱 阅读(882) 评论(0) 推荐(0) 编辑
摘要: 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。 区分层次的目的即为了“高内聚,低耦合”的思想。 表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候的所见所得。 业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层 阅读全文
posted @ 2019-06-20 09:18 二进制--洒脱 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 属性可以对设值、取值的过程进行非法值控制,比如年龄禁止设值负数,而字段则不能进行这样的设置。虽然一般情况下get读取的值就是set设置的值,但是可以让get读取的值不是set设置的值的,极端的例子。Public Age{get{return 100;}set{}}。加分的补充回答:用reflecto 阅读全文
posted @ 2019-06-20 09:17 二进制--洒脱 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要。重载(overload)是面向过程的概念。(重载是编译期多态) Override 是进行基类中函数的重写。Override是面向对象的概念(重写是运行时的多态) 阅读全文
posted @ 2019-06-20 09:16 二进制--洒脱 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的指针。 委托和事件没有可比性,因为委托是类型,事件是对象,下面说的是委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别。事件的内部是用委托实现的。因为对于事件来讲,外部只能“注册自己+=、注销自己-=”, 阅读全文
posted @ 2019-06-20 09:13 二进制--洒脱 阅读(2867) 评论(0) 推荐(0) 编辑
摘要: Connection:主要是开启程序和数据库之间的连接。没有利用连接对象将数据库打开,是无法从数据库中取得数据的。Close和Dispose的区别,Close以后还可以Open,Dispose以后则不能再用。 Command:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删 阅读全文
posted @ 2019-06-20 09:10 二进制--洒脱 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1.使用QueryString, 如....?id=1; response. Redirect().... 2.使用Session变量 3.使用Server.Transfer 4.Cookie传值 5 post、 阅读全文
posted @ 2019-06-20 09:10 二进制--洒脱 阅读(583) 评论(0) 推荐(0) 编辑
摘要: private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 当前程序集内可以访问。 阅读全文
posted @ 2019-06-20 09:09 二进制--洒脱 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 1、Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcache相比一个最大的区别。 2、Redis在很多方面具备数据库的特征,或者说就是一个数据库系统,而Memcache只是简单的K/V缓存。 他们的扩展都需要做集群;实现方式:master-slave、Hash。 在100k以上的数 阅读全文
posted @ 2019-06-20 09:05 二进制--洒脱 阅读(173) 评论(0) 推荐(0) 编辑