Некорректное добавление данных в список - C#

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

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

Здравствуйте. Не могу найти ошибку в коде:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7. namespace bankomat
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. bankomat bankomat1 = new bankomat();
  14. List<bankomat> listik = new List<bankomat>();
  15. StreamReader sr = new StreamReader("bankomat.txt");
  16. string line = string.Empty;
  17. string[] massive;
  18. while ((line = sr.ReadLine()) != null)
  19. {
  20. massive = line.Split(new char[] { ' ', '\t', });
  21. bankomat1.nominal = int.Parse(massive[0]);
  22. bankomat1.count_of_nominal = int.Parse(massive[1]);
  23. listik.Add(bankomat1);
  24. line = string.Empty;
  25. }
  26. sr.Close();
  27. foreach (bankomat q in listik)
  28. {
  29. Console.WriteLine("{0} {1}", bankomat1.nominal, bankomat1.count_of_nominal);
  30. }
  31. }
  32. }
  33. }
Класс с двумя полями:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace bankomat
  7. {
  8. class bankomat
  9. {
  10. public int nominal;
  11. public int count_of_nominal;
  12. }
  13. }
Необходимо реализовать чтение данных из файла. Примерное содержание файла: 20000 5 50000 6 100000 7 200000 8 ... где 20000,50000,100000,200000 - номинал купюры,а 5,6,7,8 - их количество. Проблема заключается в том,что при компиляции на экране появляется последняя строка 4 раза, то есть: 200000 8 200000 8 200000 8 200000 8 а нужно, чтобы вывело содержимое файла без повторов строк и т.п. Помогите пожалуйста!!!

Решение задачи: «Некорректное добавление данных в список»

textual
Листинг программы
  1.     class Bankomat
  2.     {
  3.         public int Nominal;
  4.         public int CountOfNominal;
  5.     }
  6.  
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             var listik = new List<Bankomat>();
  12.  
  13.             using (var sr = new StreamReader("bankomat.txt"))
  14.             {
  15.                 string line;
  16.                 while ((line = sr.ReadLine()) != null)
  17.                 {
  18.                     string[] array = line.Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);
  19.  
  20.                     var bankomat = new Bankomat();
  21.                     bankomat.Nominal = int.Parse(array[0]);
  22.                     bankomat.CountOfNominal = int.Parse(array[1]);
  23.  
  24.                     listik.Add(bankomat);
  25.                 }
  26.             }
  27.  
  28.             foreach (Bankomat q in listik)
  29.                 Console.WriteLine("{0}\t{1}", q.Nominal, q.CountOfNominal);
  30.  
  31.             Console.ReadKey(true);
  32.         }
  33.     }

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


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

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

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

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

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

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