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

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

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

Здравствуйте. Не могу найти ошибку в коде:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
 
namespace bankomat
{
    class Program
    {
        static void Main(string[] args)
        {
            bankomat bankomat1 = new bankomat();
            List<bankomat> listik = new List<bankomat>();
            StreamReader sr = new StreamReader("bankomat.txt");
            string line = string.Empty;
            string[] massive;
            while ((line = sr.ReadLine()) != null)
            {                
                massive = line.Split(new char[] { ' ', '\t', });
                bankomat1.nominal = int.Parse(massive[0]);
                bankomat1.count_of_nominal = int.Parse(massive[1]);
                listik.Add(bankomat1);
                line = string.Empty;
            }
            sr.Close();
            foreach (bankomat q in listik)
            {
                Console.WriteLine("{0}  {1}", bankomat1.nominal, bankomat1.count_of_nominal);
            }
        }
    }
}
Класс с двумя полями:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace bankomat
{
    class bankomat
    {
        public int nominal;
        public int count_of_nominal;
    }
}
Необходимо реализовать чтение данных из файла. Примерное содержание файла: 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
Листинг программы
    class Bankomat
    {
        public int Nominal;
        public int CountOfNominal;
    }
 
    class Program
    {
        static void Main(string[] args)
        {
            var listik = new List<Bankomat>();
 
            using (var sr = new StreamReader("bankomat.txt"))
            {
                string line;
                while ((line = sr.ReadLine()) != null)
                {
                    string[] array = line.Split(new[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);
 
                    var bankomat = new Bankomat();
                    bankomat.Nominal = int.Parse(array[0]);
                    bankomat.CountOfNominal = int.Parse(array[1]);
 
                    listik.Add(bankomat);
                }
            }
 
            foreach (Bankomat q in listik)
                Console.WriteLine("{0}\t{1}", q.Nominal, q.CountOfNominal);
 
            Console.ReadKey(true);
        }
    }

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


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

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

12   голосов , оценка 3.667 из 5
Похожие ответы