随笔分类 -  C#

摘要:策略模式:定义一系列的算法,把他们一个个封装起来,并且使它们可以相互替换,。本模式使得算法可以独立于使用它的客户而变化。 故事背景:开发一款鸭子模拟游戏,游戏中会出现各种鸭子,一边游泳,一边嘎嘎叫。此系统的内部使用了标准的OO技术,设计了一个鸭子基类,并让各种鸭子继承此基类。基类中有Speak()方 阅读全文
posted @ 2019-01-01 22:59 _清风明月 阅读(286) 评论(0) 推荐(1)
摘要:所谓序列化就是把一个对象转换为二进制格式,反序列化相反,从一个二进制格式对象转换为自定义类型。 序列化步骤: 1.定义一个个类,用[Serializable]标注在类上面 2.定义一个写文件流 3.定义一个二进制转换对象BinaryFormatter 4.序列化 反序列化步骤: 1.声明一个对象 2 阅读全文
posted @ 2019-01-01 17:09 _清风明月 阅读(233) 评论(0) 推荐(0)
摘要:大文件拷贝原理:向内存申请1M空间,反复从源文件读取1M内容写入到目标文件,直到读完。 阅读全文
posted @ 2019-01-01 16:03 _清风明月 阅读(1079) 评论(0) 推荐(0)
摘要:1.文件流写入的一般步骤 1.定义一个写文件流 2.定义一个要写入的字符串 3.完成字符串转byte数组 4.把字节数组写入指定路径的文件 5.关闭文件流 2.文件流读入的一般步骤 1.定义一个读文件流 2.开辟一块足够大的字节数组内存空间 3.把指定文件的内容读入字节数组 4.完成字节数组转字符串 阅读全文
posted @ 2019-01-01 15:13 _清风明月 阅读(15117) 评论(0) 推荐(0)
摘要:理论:由于ArrayList存储数据存在装箱(读取数据存在拆箱),而泛型List<T>直接对T类型数据进行存储,不存在装箱与拆箱拆箱操作,理论上速度应该快一些。 废话少说,上代码。 输出结果ArrayList进行1亿此装箱操作耗时9秒多,而List<T>泛型直接存储数据不到1秒,性能高下立见。 阅读全文
posted @ 2018-12-23 11:49 _清风明月 阅读(853) 评论(0) 推荐(0)
摘要:新建一个Test 类,添加一个方法Test1(),添加如上代码,在main方法中调用。 输出结果为:count = 3 capacity = 4 如果length = 0,输出结果为 count = 0 capacity = 0 如果length = 1,输出结果为 count = 1 capaci 阅读全文
posted @ 2018-12-22 13:55 _清风明月 阅读(2196) 评论(0) 推荐(0)
摘要:乍一看输出的都是true,==的作用都是一样的,其实不然。再看一个案例。 为什么会出现这种“诡异”的情况呢? 1.==如果比较的对象是值类型,实际上比较的是对象的内容。由于由于string是特殊的引用类型(新定义的对象内容如果与之前的对象内容个相同,CLR把新对象地址直接指向之前的地址),所以案例一 阅读全文
posted @ 2018-12-21 15:31 _清风明月 阅读(345) 评论(0) 推荐(1)