Ошибка "Входная строка имела неверный формат" - C# (185120)

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

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

Входная строка имела неверный формат,string count = nums.Count().ToString();Помогите пожалуйста найти ошибку.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Globalization;

namespace ConsoleApplication9
{
    class Program
    {
        static void Main(string[] args)
        {
            string data = File.ReadAllText("1.txt");
            List<char> NotDigits = new List<char>();
            List<char> NotLetters = new List<char>();
            for (int i = 0; i < data.Length; i++)
            {
                char c = data[i];
                if (!Char.IsLetter(c) && !NotLetters.Contains(c)) NotLetters.Add(c);
                if (!Char.IsDigit(c) && NotDigits.Contains(c)) NotDigits.Add(c);
            }
            var nums = data.Split(NotDigits.ToArray(),
                StringSplitOptions.RemoveEmptyEntries)
                .Select(int.Parse);
            string count = nums.Count().ToString();
            File.WriteAllText("test.txt", count);
            int max = nums.Max();
            int min = nums.Min();
            Console.WriteLine("MAX = {0}, MIN = {1}", max, min);
            string[] words = data.Split(NotLetters.ToArray(),
                StringSplitOptions.RemoveEmptyEntries);
            foreach (var s in words)
                Console.WriteLine(s);
            Console.Read();
 
        }
    }
}

Решение задачи: «Ошибка "Входная строка имела неверный формат"»

textual
Листинг программы
StreamReader sr = new StreamReader("numbers.txt");
            string text = sr.ReadToEnd();
            sr.Close();
            string[] mas1 = text.Split(new char[] { ' ', ',', '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
            int count = mas1.Count(); // Количество чисел в файле
            int[] mas = new int[mas1.Count()];
 
            for (int t = 0; t < mas1.Count(); t++)
            {
                mas[t] = Convert.ToInt32(mas1[t]);
            }
 
            int max = mas[0];
            for (int q = 1; q < mas.Count(); q++)
            {
                if (mas[q] > max)
                {
                    max = mas[q]; // В итоге в переменной max будет максимальное число
                }
            }
            Console.WriteLine("Maximum: " + max);
 
            int min = mas[0];
            for (int w = 1; w < mas.Count(); w++)
            {
                if (mas[w] < min)
                {
                    min = mas[w]; // Тут минимальное
                }
            }
            Console.WriteLine("Minimum: " + min);
 
            Console.ReadLine();

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


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

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

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