using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Windows.Forms; namespace WindowsFormsApp1 { public partial class Form1 : Form { private const int STORED_RESULTS = 5; private readonly List> _results = new List>(); public Form1() { InitializeComponent(); } private void GetSumBtn_Click(object sender, EventArgs e) { var result = ParseNumSequence(NumSequenceTextBox.Text); if (result == null) { MessageBox.Show("Incorrect sequence."); return; } _results.Add(result); if (_results.Count == STORED_RESULTS) { var formattedResults = _results .Select(t => $"{t.Item1}: {t.Item2}") .ToArray(); ResultsListBox.Items.Clear(); ResultsListBox.Items.AddRange(formattedResults); } else if (_results.Count == STORED_RESULTS + 1) { ResultsListBox.Items.Clear(); _results.RemoveRange(0, _results.Count - 1); } NumSequenceTextBox.Clear(); InfoLabel.Text = $"обработано {_results.Count} из {STORED_RESULTS} строк"; } private Tuple ParseNumSequence(string text) { var acceptedSymbols = text .Where(t => char.IsDigit(t) || t == ' ') .ToArray(); string sequence = new string(acceptedSymbols).Trim(); if (string.IsNullOrEmpty(sequence) || string.IsNullOrWhiteSpace(sequence)) return null; int sum = sequence .Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries) .Select(t => int.Parse(t)) .Sum(); return new Tuple(sequence, sum); } } }