【问题标题】:Returning currency rate via API Microsoft Bot Framework通过 API Microsoft Bot Framework 返回货币汇率
【发布时间】:2017-04-05 16:39:28
【问题描述】:

我正在开发一个 Microsoft Bot 项目,该项目将返回指定的货币汇率(与 NZD 相比)。
例如。用户: aud
机器人:1.18

我遇到的问题是代码没有打印出任何内容(即使连接正常)。
这是我拥有的一些代码:

            double aud = rootObject.rates.AUD;
            double inr = rootObject.rates.INR;
            double jpy = rootObject.rates.JPY;
            double eur = rootObject.rates.EUR;
            double gbp = rootObject.rates.GBP;

            string[] array = new string[]
                {"aud", "inr", "jpy", "eur", "gbp"};

           foreach(string i in array)
            {
                if (ActivityTypes.Message == i) 
                {
                    // return our reply to the user
                    Activity reply = activity.CreateReply($"{i}");
                    await connector.Conversations.ReplyToActivityAsync(reply);
                    Console.WriteLine(i);
                }
            }

我尝试在数组中添加一些货币并将其与用户输入相匹配,即如果 arrayOf Currencies 中的 userInput,则返回 currencyRateOfUserInput(对不起,我无法弄清楚如何格式化)

我对 C# 很陌生,所以我不确定有多少东西可以工作,有什么帮助可以解决这个问题吗?我最后的手段是对每种货币都有一个 if 语句。 P.S 请原谅我的任何格式错误,第一次问关于 SO 的问题

提前致谢!

【问题讨论】:

  • 你能发布完整的代码吗?当前代码是发生在控制器中还是对话框中?

标签: c# converter bots api-design botframework


【解决方案1】:

如果没有完整的代码发布,很难看出你在做什么......

//if (ActivityTypes.Message == i)

如果我正确阅读了您的代码,则您将数组的值(“aud”等)与 ActivityTypes.Message 的枚举值进行比较。因此,您在 if 语句中的代码将不会执行。

所以对您的代码做一些假设,尝试将上面的行更改为以下内容:

if (activity.Text == i) 

如果这个工作,记得检查文化和小写等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-30
    相关资源
    最近更新 更多