AOP C#在行动(续2)

王朝c#·作者佚名  2006-01-09
宽屏版  字体: |||超大  

今天开始写Paser了,不过是从SharpDevelop借过来而已(不想重新发明轮子,^_^)。但是,还是对原先的代码作了一些修改,即使到了RC2了,SharpDevelop的代码中还是存在问题。今天看代码是就发现了两处。比如下面的代码:

static public int Compare(IList a, IList b, IComparer comparer)

{

if (a == null || b == null) {

return 1;

}

if (a.Count != b.Count) {

return Math.Sign(a.Count - b.Count);

}

int limit = (a.Count < b.Count) ? a.Count : b.Count;

for(int i=0; i < limit; i++) {

if (a[i] is IComparable && b[i] is IComparable) {

int cmp = comparer.Compare(a[i], b[i]);

if (cmp != 0) {

return cmp;

}

}

}

return a.Count - b.Count;

}

第二个if块让我迷惑了好一阵。看mono中已经纠正了,怀疑那段语句是不是在喝酒只有写的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有