我正在更新Windows Form App,它将不同的货币彼此转换(例如,英镑转换为欧元,反之亦然)。我曾经有一个想法是创建一个利用Web API框架的类,以便:启动程序后下载最新汇率创建分别包含这些费率的变量将这些变量私下存储在类中,并以每种形式引用相关变量(不幸的是,该作业需要多格式的布局-否则,我将以单一格式使用下拉菜单。)这是迄今为止我在控制台应用程序中用于计划和测试目的的代码:static void Main(string[] args) { string URL = "https://openexchangerates.org/api/latest.json?app_id=4837847d2bc64fc496cf325525c5cf0d"; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL); request.ContentType = "application/json; charset=utf-8"; request.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.GetEncoding("ISO-8859-1").GetBytes("GBP")); request.PreAuthenticate = true; HttpWebResponse response = request.GetResponse() as HttpWebResponse; using (Stream responseStream = response.GetResponseStream()) { StreamReader reader = new StreamReader(responseStream, Encoding.UTF8); string streamString = reader.ReadToEnd(); string[] streamArray = Regex.Split(streamString, "\n|: |,\\s*"); foreach (string s in streamArray) { if (s.Equals("\"GBP\"")) { int element = Array.IndexOf(streamArray,s); string dTPString = streamArray[element + 1]; double dollarsToPounds = Convert.ToDouble(dTPString); } if (s.Equals("\"EUR\"")) { int element = Array.IndexOf(streamArray, s); string dTEString = streamArray[element + 1]; double dollarsToEuros = Convert.ToDouble(dTEString); } } }已经测试了数组分配,并且双重变量“ dollarsToPounds”和“ dollarsToEuros”在“ using(Stream ...)”语句的上下文中均被证明具有正确的值-但是,由于“ using”的属性,这些变量尚未在其上下文之外分配值(在Main()开头声明变量不会影响此结果)。有没有一种我可以代替使用的方法结构来执行与“使用(Stream ...)”相同的任务,即读取提供的URL的内容,然后该变量将允许在同一类中的其他位置引用变量?然后,这将允许我在课外引用它。如果您需要我进一步解释代码,请务必询问。
2 回答
- 2 回答
- 0 关注
- 245 浏览
添加回答
举报
0/150
提交
取消