Приложение без интерфейса, с кодом в Program.cs, завершается после выполнения - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Есть приложение дергающее курсы валют с сайта нацбанка РБ. Интерфейс приложению не был необходим, поэтому форма по умолчанию была удалена и весь код был написан в Program.cs. Код выполняется ровно один раз, выдается результирующий MessageBox с курсами, после чего приложение завершается. Хотелось бы поинтересоваться, что в проект нужно добавить, что бы после выполнения кода процесс не завершался? Планируется его просто немного расширить, раз в минуту дергать данные и если есть изменения - выдавать MessageBox с актуальными курсами. Исходник:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Windows.Forms;
  4. using System.Xml;
  5. namespace Курсы_валют
  6. {
  7. class Program
  8. {
  9. static void Main()
  10. {
  11. Check();
  12. }
  13. static void Check()
  14. {
  15. DateTime actual_day;
  16. int new_day = 0;
  17. XmlDocument doc_check = new XmlDocument();
  18. string dt_check = DateTime.Now.AddDays(1).ToString("MM.dd.yyyy").Replace('.', '/');
  19. doc_check.Load(@"http://www.nbrb.by/Services/XmlExRates.aspx?ondate=" + dt_check);
  20. if (doc_check.InnerText.Length > 1000) {
  21. actual_day = DateTime.Now; new_day = 1; }
  22. else {
  23. actual_day = DateTime.Now.AddDays(-1); new_day = 0; }
  24. XmlDocument doc = new XmlDocument();
  25. XmlDocument doc_old = new XmlDocument();
  26. DateTime dt = actual_day.AddDays(1);
  27. string dt_val = dt.ToString("MM.dd.yyyy").Replace('.', '/');
  28. DateTime dt_old = actual_day;
  29. string dt_old_val = dt_old.ToString("MM.dd.yyyy").Replace('.', '/');
  30. doc.Load(@"http://www.nbrb.by/Services/XmlExRates.aspx?ondate=" + dt_val);
  31. doc_old.Load(@"http://www.nbrb.by/Services/XmlExRates.aspx?ondate=" + dt_old_val);
  32. double v145 = 0, v190 = 0, v19 = 0;
  33. string res = "";
  34. foreach (XmlNode node in doc_old.GetElementsByTagName("Currency"))
  35. {
  36. if (node.Attributes["Id"].Value == "145") { v145 = Convert.ToDouble(node.ChildNodes[4].InnerText.Replace('.', ',')); }
  37. if (node.Attributes["Id"].Value == "190") { v190 = Convert.ToDouble(node.ChildNodes[4].InnerText.Replace('.', ',')); }
  38. if (node.Attributes["Id"].Value == "19") { v19 = Convert.ToDouble(node.ChildNodes[4].InnerText.Replace('.', ',')); }
  39. }
  40. foreach (XmlNode node in doc.GetElementsByTagName("Currency"))
  41. {
  42. if (node.Attributes["Id"].Value == "145")
  43. {
  44. string s1 = node.ChildNodes[1].InnerText;
  45. string s2 = node.ChildNodes[4].InnerText;
  46. string s3 = Math.Round((Convert.ToDouble(s2.Replace('.', ',')) - v145), 2).ToString();
  47. if (Convert.ToDouble(s3) > 0)
  48. s3 = "+" + s3;
  49. res += s1 + ":\t" + s2 + "\t(" + s3 + ")\r\n";
  50. }
  51. if (node.Attributes["Id"].Value == "190")
  52. {
  53. string s1 = node.ChildNodes[1].InnerText;
  54. string s2 = node.ChildNodes[4].InnerText;
  55. string s3 = Math.Round((Convert.ToDouble(s2.Replace('.', ',')) - v190), 2).ToString();
  56. if (Convert.ToDouble(s3) > 0)
  57. s3 = "+" + s3;
  58. res += s1 + ":\t" + s2 + "\t(" + s3 + ")\r\n";
  59. }
  60. if (node.Attributes["Id"].Value == "19")
  61. {
  62. string s1 = node.ChildNodes[1].InnerText;
  63. string s2 = node.ChildNodes[4].InnerText;
  64. string s3 = Math.Round((Convert.ToDouble(s2.Replace('.', ',')) - v19), 2).ToString();
  65. if (Convert.ToDouble(s3) > 0)
  66. s3 = "+" + s3;
  67. res += s1 + ":\t" + s2 + "\t(" + s3 + ")\r\n";
  68. }
  69. }
  70. if (new_day == 1) {
  71. MessageBox.Show("Курсы валют на завтра (" + dt.AddDays(1).ToString("dd.MM.yyyy") + "):\r\n\r\n" + res, "Курсы валют"); }
  72. else {
  73. MessageBox.Show("Курсы валют на сегодня (" + dt.ToString("dd.MM.yyyy") + "):\r\n\r\n" + res, "Курсы валют"); }
  74. }
  75. }
  76. }

Решение задачи: «Приложение без интерфейса, с кодом в Program.cs, завершается после выполнения»

textual
Листинг программы
  1. Console.ReadLine()

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы