Реорганизовать код: вызовы методов в зависимости от условий - C#

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

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

Здравствуйте Опыт в программировании небольшой, код получается достаточно раздутый, написал конструкцию достаточно простую, но кажется что её можно оформить более лаконично подскажите пожалуйста как это сделать:
Листинг программы
  1. private double[] td = new double[14];
  2. public int TDOUT (ref double[] IN,string pair)
  3. {
  4. td = IN; //записывааем исходные значения
  5. if (pair=="pw")
  6. {
  7. int temp = PW();
  8. if (temp == 0)
  9. {
  10. IN = td;
  11. return temp;
  12. }
  13. else return temp;
  14. }
  15. if (pair == "pst")
  16. {
  17. int temp = PST();
  18. if (temp == 0)
  19. {
  20. IN = td;
  21. return temp;
  22. }
  23. else return temp;
  24. }
  25. if (pair == "tw")
  26. {
  27. int temp = TW();
  28. if (temp == 0)
  29. {
  30. IN = td;
  31. return temp;
  32. }
  33. else return temp;
  34. }
  35. if (pair == "tst")
  36. {
  37. int temp = TST();
  38. if (temp == 0)
  39. {
  40. IN = td;
  41. return temp;
  42. }
  43. else return temp;
  44. }
  45. if (pair == "pt")
  46. {
  47. int temp = PT();
  48. if (temp == 0)
  49. {
  50. IN = td;
  51. return temp;
  52. }
  53. else return temp;
  54. }
  55. if (pair == "ph")
  56. {
  57. int temp = PH();
  58. if (temp == 0)
  59. {
  60. IN = td;
  61. return temp;
  62. }
  63. else return temp;
  64. }
  65. return 2;

Решение задачи: «Реорганизовать код: вызовы методов в зависимости от условий»

textual
Листинг программы
  1. public KeyValuePair<int, double[]> TDOUT (double[] in, string pair)
  2. {
  3.    //...
  4.    return new KeyValuePair<int, double[]>(temp, temp == 0 ? in : td);
  5. }

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


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

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

12   голосов , оценка 4 из 5

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

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

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