【问题标题】:What does the ampersand and $ symbol mean in the following contexts?在以下上下文中,& 和 $ 符号是什么意思?
【发布时间】:2020-07-13 22:02:57
【问题描述】:

我正在进行代码审查并遇到了这个问题:

Dim lngLen As Long    
lngLen = 16&

我已经阅读了一些内容,这似乎是一种将数字转换为长数字的方法 - 对吗?

但这真的有必要吗,因为您可以将 16 的值分配给lngLen,因为它是一个数值。

此外,按照此代码完成:

Dim strCompName As String   
strCompName = String$(lngLen, 0&)

我从 Access 帮助定义中意识到 String 方法“返回一个包含指定长度的重复字符串的变体。”

那么 $ 有什么作用呢?又是 & 将 0 转换为 long 吗?

【问题讨论】:

    标签: ms-access vba ms-access-2007


    【解决方案1】:

    您好,您可以查看此question 以获得您的查询的可能答案。

    编辑: 此外,我能够在互联网上搜索更多资源,并找到了这个 VBA typing convention,它最初是在这个 forum page 上找到的。

    希望这会对你有所帮助。

    【讨论】:

    • 链接到其他来源通常被认为是一件好事,但也建议在您自己的答案中包含解决方案的精髓,所以 (1) 人们不要'不必单击一堆链接来了解链接所说的要点,并且 (2) 答案中有 something 的价值,以防链接消失死的。有关详细信息,请参阅here
    • 我认为这是针对我的。我同意 Gord 的观点,这将有助于我进一步提高答案的质量以及呈现方式。干杯。
    • @KevinIsNowOnline 我知道 - 但将来对任何人来说都很高兴:)
    【解决方案2】:

    根据您的询问

    有些人认为选择返回正确类型的函数会稍微高效一些,这样可以更快地执行代码。

    另一方面,有些人认为它没有用 根本目的是在代码中添加类型声明后缀 没有声明后缀。当然,这只会混淆 代码。

    String$ is a function
    The $ at the end is a way of declaring the variable As String.
    The & at the end is a way of declaring the variable As Long.
    

    你说得对,我认为这里没有必要。

    【讨论】:

    • 我同意你的第一点:D,但以前不知道它是什么意思。提供的一些阅读材料表明它可能会更快,但我看不出只用 As 声明变量,然后是它们的类型更具描述性。
    • 嗯。它只是为了向后兼容。$ 字符强制函数返回一个字符串类型的变量。我猜函数使用 $ 会更有效。
    猜你喜欢
    • 2015-07-17
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    相关资源
    最近更新 更多