Вернуть несколько значений из метода - C# (179619)

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

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

Добрый день! Подскажите есть метод, который считывает из файла данные
Листинг программы
  1. int Shirina(StreamReader sr)
  2. {
  3. Regex reg_visota = new Regex(@"\b(\d+\W?шмм)");
  4. while (!sr.EndOfStream)
  5. {
  6. string input = sr.ReadLine();
  7. Match match_shirina = reg_visota.Match(input);
  8. while (match_shirina.Success)
  9. {
  10.  
  11. string input3 = match_shirina.Groups[1].Value;
  12. if (!input3.Contains("вмм"))
  13. {
  14. char[] mychar2 = { 'ш', 'м', 'м' };
  15. string inp_shirina = input3.TrimEnd(mychar2).Trim();
  16. inp_shirina_txt = Convert.ToInt32(inp_shirina);
  17. inp_shirina_textbox = Convert.ToInt32(txt_shirina.Text);
  18.  
  19. //MessageBox.Show("ширина " + inp_shirina_txt.ToString());
  20.  
  21. match_shirina = match_shirina.NextMatch();
  22. }
  23. }
  24. // sr.Close();
  25. }
  26. return inp_shirina_txt;
  27. }
Но при вызове выдает только последнюю строчку в файле, как вернуть несколько значений сразу же. Вот так вызываю
Листинг программы
  1. Encoding windows1251 = Encoding.GetEncoding("Windows-1251");
  2. StreamReader sr = new StreamReader(openFileDialog1.FileName, windows1251);
  3. MessageBox.Show(Visota(sr).ToString());

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

textual
Листинг программы
  1. List<int> Shirina(StreamReader sr)
  2.         {
  3.             List <int> list=new List<int>();
  4.             Regex reg_visota = new Regex(@"\b(\d+\W?шмм)");
  5.  
  6.             while (!sr.EndOfStream)
  7.             {
  8.                 string input = sr.ReadLine();
  9.                 Match match_shirina = reg_visota.Match(input);
  10.  
  11.                 while (match_shirina.Success)
  12.                 {
  13.  
  14.  
  15.                     string input3 = match_shirina.Groups[1].Value;
  16.                     if (!input3.Contains("вмм"))
  17.                     {
  18.                         char[] mychar2 = { 'ш', 'м', 'м' };
  19.                         string inp_shirina = input3.TrimEnd(mychar2).Trim();
  20.                         list.add( Convert.ToInt32(inp_shirina));
  21.                         inp_shirina_textbox = Convert.ToInt32(txt_shirina.Text);
  22.  
  23.  
  24.                         //MessageBox.Show("ширина " + inp_shirina_txt.ToString());
  25.  
  26.  
  27.  
  28.                         match_shirina = match_shirina.NextMatch();
  29.                     }
  30.                 }
  31.                //  sr.Close();
  32.  
  33.             }
  34.  
  35.             return list;
  36.         }

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


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

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

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

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

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

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