【问题标题】:VBA: Difference between & and +VBA:&和+之间的区别
【发布时间】:2011-03-22 20:48:33
【问题描述】:

有什么区别:

string1 + string2

string1 & string2

它们是等价的吗?为什么有两个不同的符号做同样的事情?

【问题讨论】:

    标签: vba operators concatenation


    【解决方案1】:

    只要操作数是字符串,表达式都是一样的;如果没有,+ 可能会根据类型转换添加它们。 & 保证除了字符串连接之外你不会得到任何东西,并且会尽可能将操作数转换为字符串。

    有一个关于 Concatenation operations in Visual Basic 的 MSDN 条目对此进行了解释:

    & 运算符 (Visual Basic) 仅针对 String 操作数定义,它总是将其操作数扩展为 String,而不管 Option Strict 的设置如何。建议将 & 运算符用于字符串连接,因为它是专门为字符串定义的,可以减少生成意外转换的机会。

    【讨论】:

    • 如果其中一个值为空,即使是字符串,表达式也不相同。
    • MSDN 文章是关于 Visual Basic 的,但我想这在 VBA 中同样适用?没有 VBA 文档页面吗?
    【解决方案2】:

    这两个表达式是等价的,但运算符不是。 + 可以用作算术运算符以及字符串连接,& 只能用于后者。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-04
    • 2016-05-27
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 2018-10-27
    • 2014-08-22
    • 1970-01-01
    相关资源
    最近更新 更多