摘要:介绍了 C# 编译器生成的 XML 文档注释的文件格式,和相关的规则。 阅读全文
posted @ 2015-03-14 22:38 CYJB 阅读(2753) 评论(1) 推荐(1) 编辑
摘要:可变参数的方法是指具有 CallingConventions.VarArgs 调用约定的方法,可以根据需要传递任意个数的参数,参数的类型也可以互不相同。本文从 P/Invoke、C# 中可变参数方法的声明、IL 代码和 RuntimeArgumentHandle 四个方面介绍了 C# 中的可变参数方法。 阅读全文
posted @ 2015-02-12 02:11 CYJB 阅读(12937) 评论(5) 推荐(6) 编辑
摘要:C# 在运行时只能进行兼容的引用类型转换和装箱/拆箱转换,因此我利用 System.Reflection.Emit 实现了一套在运行时动态生成 IL 进行类型转换的框架,能够在运行时实现与编译器基本相同的类型转换支持,并对泛型类型提供了完整的支持。可以完整兼容各种数值类型转换、隐式/显式引用类型转换和用户自定义类型转换。 阅读全文
posted @ 2015-02-03 02:56 CYJB 阅读(4082) 评论(13) 推荐(19) 编辑
摘要:本文译自微软 Framework Design Guidelines 的 Type Design Guidelines(.NET Framework 4.5) 一节,简要说明了类、结构体、抽象类、静态类、接口、枚举和嵌套类型的设计准则。 阅读全文
posted @ 2015-01-12 10:16 CYJB 阅读(1376) 评论(1) 推荐(0) 编辑
摘要:这里介绍了我的词法分析类库的一些改变,如何定义词法分析器(简单的使用指南),以及如何实现自己的词法分析器。 阅读全文
posted @ 2014-01-09 12:46 CYJB 阅读(7854) 评论(4) 推荐(4) 编辑
摘要:在编写应用程序时,我们经常要处理这样的一组对象,它们的类型都派生自同一个基类,但又需要为每个不同的子类型应用不同的处理方法。我将利用字典,根据对象类型调用相应的方法这一过程封装起来,形成了方法切换器类。还可以根据特性标注,自动选择相应的方法,而避免了手工输入。 阅读全文
posted @ 2013-10-11 12:27 CYJB 阅读(1732) 评论(2) 推荐(0) 编辑
摘要:在 C# 的 WinForm 应用中,有时可能需要用硬件加速来提高绘制的效率。本文介绍了两种在 WinForm 应用中嵌入 Direct2D 的方法,使得窗口的某一部分可以应用 Direct2D 绘制,其它部分仍然可以使用现有的 WinForm 技术。 阅读全文
posted @ 2013-10-03 16:07 CYJB 阅读(9340) 评论(11) 推荐(5) 编辑
摘要:我使用 SharpDX 类库实现拼图游戏,用户选定的图片会被分割为很多拼图碎片,游戏过程就是拖动拼图碎片,并拼成完整的图案。 阅读全文
posted @ 2013-09-21 00:03 CYJB 阅读(3201) 评论(5) 推荐(2) 编辑
摘要:并查集(Union-find Sets)是一种非常精巧而实用的数据结构,它主要用于处理一些不相交集合的合并问题。本文介绍了带路径压缩的按秩合并的并查集,以及按节点数合并的并查集。 阅读全文
posted @ 2013-09-12 16:38 CYJB 阅读(47692) 评论(7) 推荐(27) 编辑
摘要:顺序表与链表是非常基本的数据结构,它们是线性表的不同存储结构,各自有不同的特点和适用范围。针对它们各自的缺点,也有很多改进的措施,包括顺序表动态扩容、静态链表、块状链表和跳表。 阅读全文
posted @ 2013-09-11 01:29 CYJB 阅读(12094) 评论(5) 推荐(2) 编辑
摘要:解题报告:计算 1 至 n 中数字 X 出现的次数,其中 n ≥ 1,X 的取值范围是 [0,9]。 阅读全文
posted @ 2013-09-09 00:05 CYJB 阅读(14290) 评论(10) 推荐(5) 编辑
摘要:Direct2D 是微软新的二维图形 API,它支持硬件加速,并且内置了很多特效(Effects),能够实现很多效果。本篇文章介绍了如何通过组合四种内置特效,来实现位图的斜角(Bevel)效果。 阅读全文
posted @ 2013-07-01 21:57 CYJB 阅读(8106) 评论(5) 推荐(5) 编辑
摘要:本篇文章介绍了 WPF 中 Win8 风格的 TreeView 样式的实现,包括节点的整行选择和样式的定义,包含完整的代码和示例。 阅读全文
posted @ 2013-06-04 19:40 CYJB 阅读(11730) 评论(2) 推荐(4) 编辑
摘要:这里介绍了在词法分析中,如何根据 DFA 构造出词法分析器,并给出了一些词法分析器的示例。 阅读全文
posted @ 2013-05-07 01:01 CYJB 阅读(6231) 评论(2) 推荐(3) 编辑
摘要:这里介绍了在词法分析中,如何从 NFA 转换为 DFA,以及对 DFA 和字符类进行化简。 阅读全文
posted @ 2013-05-02 23:50 CYJB 阅读(6366) 评论(3) 推荐(4) 编辑
摘要:这里介绍了在词法分析中,如何将正则表达式转换为相应的 NFA、如何划分字符类、多条正则表达式的转换以及行首限定符和上下文的处理。 阅读全文
posted @ 2013-04-16 15:32 CYJB 阅读(7527) 评论(2) 推荐(6) 编辑
摘要:.Net 中自带了一个位压缩数组 BitArray,它的功能也跟数组一样,只能对每一位进行操作,而不能添加或删除位。这里介绍的 BitList 类,就是自己写的能够添加、删除位的位压缩列表。 阅读全文
posted @ 2013-04-14 11:08 CYJB 阅读(1654) 评论(2) 推荐(0) 编辑
摘要:编程之美 2013 全国挑战赛 初赛第一场 题目二 相似字符串 解题报告。对于两个长度相等的字符串,我们定义其距离为对应位置不同的字符数量,同时我们认为距离越近的字符串越相似。现在给定两个字符串 S1 和 S2,其中 S2 的长度不大于 S1。请在 S1 中寻找一个与 S2 长度相同的子串,使得距离最小。 阅读全文
posted @ 2013-04-13 18:06 CYJB 阅读(2624) 评论(5) 推荐(0) 编辑
摘要:编程之美 2013 全国挑战赛 资格赛 题目三 树上的三角形 解题报告。有一棵树,树上有只毛毛虫。它在这棵树上生活了很久,对它的构造了如指掌。所以它在树上从来都是走最短路,不会绕路。它还还特别喜欢三角形,所以当它在树上爬来爬去的时候总会在想,如果把刚才爬过的那几根树枝/树干锯下来,能不能从中选三根出来拼成一个三角形呢? 阅读全文
posted @ 2013-04-09 00:27 CYJB 阅读(2678) 评论(0) 推荐(2) 编辑
摘要:编程之美 2013 全国挑战赛 资格赛 题目二 长方形 解题报告。在 N × M 的网格上,放 K 枚石子,每个石子都只能放在网格的交叉点上。问在最优的摆放方式下,最多能找到多少四边平行于坐标轴的长方形,它的四个角上都恰好放着一枚石子。 阅读全文
posted @ 2013-04-09 00:20 CYJB 阅读(2898) 评论(2) 推荐(0) 编辑
Fork me on GitHub