摘要:
最近在封装Excel组件,需要提供两个接口,分别根据单元索引和单元名称访问单元格。例如,GetCell(1, 2)和GetCell(“A2”),这两种方法返回的结果是相同的。这里遇到一个问题,如何在单元索引([1,2])和单元名称(A2)之间相互转换?由于在单元索引和单元名称中,行号是相同的,所以我们只需要转换列号就可以了。本来以为是个很简单的问题,结果调试了好长时间才搞定。于是写了这篇文章,总结一下。【问题描述】在Excel中,列的名称是这样一个递增序列:A、B、C、…、Z、AA、AB、AC、…、AZ、BA、BB、BC、…、BZ、CA、…、ZZ、AAA、AAB…。我们需要将上述列名序列和以下 阅读全文
posted @ 2012-05-14 11:08
卡卡西村长
阅读(25866)
评论(0)
推荐(4)
摘要:
在Visual Studio .NET中,一个解决方案可以包含多个项目,一个项目可以引用若干其它项目。编译的时候,VS会自动确定每个项目的编译顺序。VS究竟是如何计算出这个顺序的呢?如果学习过数据结构,可以很容易回答出这个问题:拓扑排序(Topological Sort)。什么是拓扑排序?让我们来温习一下。百度百科上的介绍如下:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若<u,v> ∈E(G),则u在线性序列中出现在v之前。上述介绍抽象,不如用实际案例来解释一下。假如在VS 阅读全文
posted @ 2012-05-14 11:08
卡卡西村长
阅读(3824)
评论(2)
推荐(1)
摘要:
最近编程时遇到一个问题:有一组对象,要求随机地访问其中每一个对象,并且每个对象只访问一次。如果我们将访问顺序转换为一组整数序列,那么这就是一个关于“非重复随机序列生成算法”的问题。本文将探讨这个问题的多种解法,并给出一个非常高效的算法。【问题描述】:有一个自然数N,希望得到一个整型序列,该序列包含N个整数,从0到N-1,呈随机分布状态,且不重复。【问题分析】:生成随机数是简单的,关键是,如何保证不重复呢?一般来说,我们有两种思路: 思路1:我们不能保证每次生成的随机数都是不重复的,但是可以在生成随机数之后,判断这个数值是否已经生成过了,如果已经生成过了,那就重新生成一个,直到生成一个新的数值。 阅读全文
posted @ 2012-05-14 11:07
卡卡西村长
阅读(14554)
评论(7)
推荐(2)
浙公网安备 33010602011771号