代码之家  ›  专栏  ›  技术社区  ›  Jabberwocky

具有$[重复]的内置字符串函数

  •  1
  • Jabberwocky  · 技术社区  · 6 年前

    这个问题已经有了答案:

    使用内置函数返回字符串(如 Left 或者使用相同的函数 $ 附加的( Left$ )?

    输出:

    Debug.Print Left("Foo", 2)
    Debug.Print Left$("Foo", 2)
    

    总是

    Fo
    Fo
    

    我怀疑这完全是同一件事, $ 版本的存在只是出于某些兼容性的原因。

    2 回复  |  直到 6 年前
        1
  •  5
  •   Comintern    6 年前

    类型化函数(以 $ 返回A String . 未键入的版本返回 Variant . 在内部,它们由一对不同的函数处理(在 Left 它是 _B_str_Left _B_var_Left )

    如果要将返回值分配给 或需要 ,使用键入的版本( Left$ )避免将隐式强制转换为 变体 . 同样,如果您要将 变体 ,使用非类型化版本可避免强制转换。

        2
  •  3
  •   Charles Williams    6 年前

    左$()需要一个字符串作为参数,但左()需要一个变量。因此,如果知道总是传递字符串,那么使用LEFT$()会更快。