2009-02-19 41 views

回答

9

这已覆盖原则before,但肯定也有差异:基本上VB助手会做额外的工作,为您获得通过,其中仿制药会抛出异常的解析,和一般,但不是普遍的VB助手速度更快(尽管我不知道它是否显着),因为它们真的只是IL糖。季节去品尝。


编辑:This guy覆盖它比我更好。

编辑Redux:Joel Coehoorn也推荐precursor to the above article,显然他的袖子有一些标杆。

乔尔写道:

摘要是CINT()是一个操作员 ,而Convert.ToInt32()是一个 功能。 (int)x之间的位置为 ;和 Convert.ToInt32(x);.

+1

咦:你做了修改,同时我研究我的职务 - 主要是寻找(并未能找到)我提到的基准链接。这很有趣,因为你的链接是同一作者对我发布的内容的跟进。如果您进行了另一次编辑以包含两者,我将删除我的帖子以支持您的帖子。 – 2009-02-19 17:16:26

1

我刚刚发现了另一个很大的差异,我认为这里值得一提 - 尽管在OP之后几年! CInt({Boolean expression})计算结果为-1时True,而Convert.ToInt<n>计算结果为1

这可能赶出来的人谁是使用前者在数学分析,例如:

For i As Integer = 0 To 1 - CInt(processThirdItem) 'Evaluates to -1 (1 - -1 = 2) 
    'Do stuff... 
Next 

因此,在地方CInt止跌的使用Convert.ToInt32除非您将运营商从-更改为+,否则不起作用。

当然.NET的短路If功能现在提供了一个更好的方法来做到这一点:

For i As Integer = 0 to If(processThirdItem, 2, 1) 
    'Do stuff... 
Next