上一页 1 2 3 4 5 6 7 8 9 ··· 26 下一页
摘要: 在C#里,有时候我需要能够申请一个很大的数组、使用之、然后立即释放其占用的内存。 由于在C#里提供的int[] array = new int[1000000];这样的数组,其内存释放很难由程序员完全控制,在申请一个大数组后,程序可能会变得很慢。 所有我设计了这样一个非托管的数组类型: 无unsafe, 可接收任何struct类型作为泛型参数, 可随时释放内存,UnmanagedArray使用方式十分简单,就像一个普通的数组一样 阅读全文
posted @ 2015-07-25 14:58 BIT祝威 阅读(7156) 评论(7) 推荐(2) 编辑
摘要: 最近所做的多文件数据库是受(C#实现文件数据库)的启发。后来又发现了(LiteDB),看到了单文件数据库和分页、索引、查询语句等的实现方式,大受启发。不过我仍旧认为LiteDB使用起来有些不顺畅,它的代码组织也不敢完全苟同。所以,我重新设计了一个小型的单文件数据库SharpFileDB: 无需配置服务器。 无需SQL。 100%纯C#开发的一个不到50KB的DLL。 支持事务ACID。 写入失败后可恢复(日志模式)。 可存储任意继承了Table且具有[Serializable]特性的类型(相当于关系数据库的Table)。类型数目不限。 可存储System.Drawing.Image等大型对象。 单文件存储,只要你的硬盘空间够大,理论上能支持的最大长度为long.MaxValue = 92233 阅读全文
posted @ 2015-07-11 20:06 BIT祝威 阅读(4356) 评论(8) 推荐(11) 编辑
摘要: 在项目中,我们常常有统计代码行数的需要,但是如果不利用第三方工具的话,面对一个项目(甚至一个工程或解决方案中若干个项目)中成百上千的代码文件,实在有一种力不从心的感觉。 我们期望能够用最简单的方法完成这些重要却细微的需求。下面我给大家介绍一种无需借助第三方工具,无需复杂操作,无需人工统计计算的方法解决这个问题。 阅读全文
posted @ 2015-07-08 14:18 BIT祝威 阅读(8348) 评论(0) 推荐(0) 编辑
摘要: 我需要找一个能够在同一文件中序列化多个对象,并且能随机进行反序列化的工具。随机反序列化的意思是,假设我在文件里依次序列化存储了a、b、c三种不同类型的对象,那么我可以通过Stream.Seek(,);或者Stream.Position来仅仅反序列化b。当然,这可能需要一些其它的数据结构辅助我找到Stream.Seek(,);或者Stream.Position所需的参数。 我找到了BinaryFormatter、SoapFormatter、XmlSerializer和BinaryReader这几个类型,都是.NET Framework内置的。但是它们并非都能胜任但文件数据库的序列化工具。 阅读全文
posted @ 2015-06-25 14:43 BIT祝威 阅读(2448) 评论(8) 推荐(1) 编辑
摘要: 我们在Visual Studio上开发OpenGL ES项目时,避免不了写Shader。这时在vs里直接编辑shader就会显得很方便。但是vs默认是不支持GLSL的语法着色的,我们只好自己动手创造。最简单的实现自定义语法着色的方法就是创建一个VSIX插件包,我们只需要安装Visual Studio SDK,使用内置的模版就可以构建一个插件项目。 阅读全文
posted @ 2015-06-24 09:31 BIT祝威 阅读(4391) 评论(6) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 26 下一页
canvas start.

canvas end.