【问题标题】:Convert C# code to VBscript将 C# 代码转换为 VBscript
【发布时间】:2017-07-12 18:45:51
【问题描述】:

我有下一个“while”语句,我应该在 VB 上重写:

    while (--number >= 0)
    {
        result = (char)('A' + number % lettersNumbers) + result;
        number /= lettersNumbers;
    }

我尝试过这样的事情:

While number >= 0
    number = number - 1
    result = Chr(Chr("A") + number Mod lettersNumbers) & result
    number = number / lettersNumbers
WEnd

但不幸的是,它不起作用。我收到下一个错误:

类型不匹配:'[string: "A"]' 那么如何更正这段代码以使其在 VBscript 上运行呢?

【问题讨论】:

    标签: c# vbscript


    【解决方案1】:

    你需要得到“A”的字符代码:

    While number >= 0
        number = number - 1
        result = Chr(Asc("A") + number Mod lettersNumbers) & result
        number = number / lettersNumbers
    WEnd
    

    函数Asc返回给定字母的ASCII码。在您的原件中,您在计算中使用字符(char)。 C# 隐式将 char 转换为 int。

    【讨论】:

    • 其实Asc返回的是ANSI字符码值。 ANSI 字符集是在代码运行时为线程配置的许多可能的字符集之一。 (线程最初继承自进程,进程最初继承自用户,用户最初继承自操作系统安装。)
    【解决方案2】:
    While number >= 0
        number = number - 1
        result = Chr(Asc("A") + number Mod lettersNumbers) & result
        number = number / lettersNumbers
    WEnd
    

    你需要得到“A”的字符代码:

    【讨论】:

    • 后来回答了相同的答案,仍然得到了赞成。我不明白这个网站的机制:-D
    • 代码转储做得更好。无需费力阅读您所解释的内容...@RomanoZumbé
    • @PatrickHofman 哦,这有点可悲。只是解决问题,不了解它的原因......我会继续解释导致问题的原因:-)
    • 现在回答用户(今天注册的)被删除了。我觉得很奇怪
    猜你喜欢
    • 2010-11-19
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-10
    • 1970-01-01
    • 2014-01-03
    • 1970-01-01
    相关资源
    最近更新 更多