首页 / 知识
关于vb.net:IIf()和If之间的性能差异
2023-04-13 06:09:00

Performance difference between IIf() and If
在Visual Basic中,使用
我认为,VB有以下问题引用的
第一个基本上是C#的三元条件运算符,第二个是其合并运算符(除非为
像在C#中一样,VB的条件
代码说明:
输出:
另外,IIf的另一个大问题是它实际上会调用参数[1]中的任何函数,因此,如果您遇到以下情况:
实际上,它将引发异常,这不是大多数人第一次看到该功能时认为的功能。这也可能导致一些很难修复的应用程序中的错误。 [1] IIf函数-http://msdn.microsoft.com/zh-cn/library/27ydhh0d(VS.71).aspx 更好地使用If而不是IIf来正确使用类型推断机制(Option Infer On) 在此示例中,当我使用If时,关键字被识别为字符串:
否则,将其识别为Object:
我相信If和IIf之间的主要区别是:
因此,如果其中一条语句将引发异常,则无论如何它都会将其引发到(IIf)中,但在(If)中它将引发该异常,以防万一条件将返回其值。 最重要的是,在这种情况下,可读性可能比性能更受青睐。即使IIF效率更高,目标读者也很难理解(我假设如果您使用的是Visual Basic,您希望其他程序员能够轻松地阅读您的代码,这是VB的最大福音。在我看来,这些东西已经被诸如IIF之类的概念所迷失了。 另外," IIF是一个函数,而IF是语言语法的一部分"……对我而言,这确实意味着,If会更快……If除此之外,If语句可以直接分解为而不是去存储器中的另一个空间来执行所述功能中找到的逻辑,而不是访问一小部分操作码。也许这是一个古朴的区别,但值得注意。 根据这个家伙的说法,IIf最多可以使用If / Then的6倍。 YMMV。 ...关于为什么可能需要长达6倍的时间,请引用Wiki:
IIf本质上等效于C ++ / C#中的三元运算符,因此如果您愿意,它可以为您提供一些不错的1行if / else类型语句。您还可以给它一个评估您是否需要的功能。
这些功能是不同的!也许您只需要使用IF语句。 如果您想知道为什么有IIF函数,也许可以这样解释:
因此,此后计数器将为2,但s仅为" YES"。我知道这个计数器的东西是没有用的,但是有时有些函数需要您都运行,如果IF是true还是false都没关系,只需将其中一个的值赋给变量即可。 |
最新内容
相关内容
使用Python的toolz库开始函数式编
使用Python的toolz库开始函数式编程,代码,函数,培训,位置,参数,字典,顺序,操作,结果,测试,toolz库允许你操作函数,使其更容易理解,更容易测试代提升Python程序性能的好习惯
提升Python程序性能的好习惯,代码,名字,检测,数据,培训,模块,函数,变量,性能,对象,掌握一些技巧,可尽量提高Python程序性能,也可以避免不必要的python之什么是函数式编程?
python之什么是函数式编程?,系统,概念,项目,大规模,状态,数据,培训,函数,语言,副作用,函数式编程(简称FP)是一种编程范式,其中最基本的元素是python内置函数:map、reduce、filte
python内置函数:map、reduce、filter的用法和区别,数据,培训,数字,函数,序列,内容,元素,参数,列表,个数,map:根据函数对指定序列做映射map参数Python之列举常见的内置函数
Python之列举常见的内置函数,数字,数据,函数,名字,培训,一致,元素,对象,列表,参数,abs()返回数字的绝对值map根据函数对指定序列做映射map()python函数调用和参数传递
python函数调用和参数传递,位置,培训,函数,变量,参数,指针,例子,内存,整数,操作,定义过函数后,就可以在后面程序中使用这一函数printsquare_suPython性能分析
Python性能分析,代码,分析,对比,时间,工具,标准,注释,跨行,通用,报告,python标准库提供两个代码性能分析相关的模块,即timeit和cProfile/profiPython什么是函数式编程?
Python什么是函数式编程?,状态,技术,代码,系统,数据,函数,工作,培训,地方,边界,函数式编程使用一系列的函数解决问题。函数仅接受输入并产生python函数式编程到底是个什么
python函数式编程到底是个什么,状态,函数,培训,名称,概念,术语,指数,数据,命令,变量,一概念(函数式编程)函数式编程是一种编程范式,我们常见的Python 递归函数
Python 递归函数,第一,第三,培训,个人,人大,函数,程序,条件,以此类推,例题,递归:函数调用自己本身递归的核心:1)递归推导式2)递归终止条件不过python 用于序列操作的常用内置函
python 用于序列操作的常用内置函数,较大,培训,列表,函数,元素,对象,参数,操作,字符串,序列,len(列表):返回列表中的元素个数,同样适用于元组、Python 函数式编程概述
Python 函数式编程概述,状态,代码,技术,数据,系统,函数,地方,工作,培训,边界,1.1.什么是函数式编程?函数式编程使用一系列的函数解决问题。函