2016-11-22 92 views
3

我正在開發一個Microsoft Bot項目,它將返回指定的貨幣匯率(與NZD相比)。
E.G.用戶:aud
Bot:1.18通過API返回匯率Microsoft Bot Framework

我遇到的問題是代碼沒有打印出任何東西(即使連接正在工作)。
下面是一些代碼,我有:

  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貨幣,即如果userInput用戶輸入,返回currencyRateOfUserInput(抱歉,我無法弄清楚如何格式化)

我很新的C#所以我不知道有多少事情的工作,任何幫助如何解決這個問題?我最後的手段是每種貨幣都有一個if語句。 P.S原諒我的任何格式錯誤左右,第一次問SO

在此先感謝!

+0

你能後的完整代碼?當前的代碼是在控制器還是在對話框中發生? –

回答

0

如果沒有一個完整的代碼發佈,很難看到你正在試圖做...

//if (ActivityTypes.Message == i) 

如果我在讀你的代碼正確你是比較數組的值(「澳元」等)到ActivityTypes.Message的枚舉值。因此你的代碼在if語句中不會執行。

所以使你的代碼中的一些假設,試圖改變上述線以下:

if (activity.Text == i) 

如果這項工作,記住一定要對文化和小寫等

相關問題