Prosty program nie wczytuje danych z pliku poprawnie.

0

Witam, napisałem prosty program którego celem jest zsumowanie liczb z pliku jednak napotykam się na pewien problem otóż, po wczytaniu danych do tablicy, to nawet po próbie ich wypisania w konsoli pojawia się tylko System.String[] w konsoli a nie konkretna dana.

using System;
using System.IO;
namespace sumowanie
{
    class Program
    {
        static void Main(string[] args)
        {
            
            string[] tekst = System.IO.File.ReadAllLines(); //miejsce na zrodlo
            int suma = 0;
            int wielkosc = tekst.Length;
            Console.WriteLine(tekst);

             for (int i = 0; i < wielkosc; i++)
             {
                int kolejna = Convert.ToInt32(tekst[i]);
                suma = suma + kolejna;
             }

            Console.WriteLine("Suma wszystkich liczb w tym pliku to: " + suma);
           

        }
    }
}



0

Zrobiłem jedną poprawke i teoretycznie teraz działa wszystko dobrze. tzn nie przypisałem wielkości tablicy do osobnej zmiennej a użyłem jej w pętli. tzn iteracja dopóki tablica.Length

0

Przy kolejnej kompilacji wywala kolejny błąd.

System.FormatException: „Input string was not in a correct format.”

Zmieniłem tylko dane wejściowe w pliku

0

Któraś dana wejściowa nie jest liczbą i nie może jej przekonwertować, skorzystaj z TryParse, albo popraw dane wejściowe.

0
string[] tekst = System.IO.File.ReadAllLines(@"d:\dd.txt"); 
	int suma = 0;
	Array.ForEach(tekst, a => { suma += int.Parse(a);});
Console.WriteLine("Suma wszystkich liczb w tym pliku to: " + suma);

plik dd.txt

1
2
3
4
1

z kontrolą rzutowania

string[] tekst = System.IO.File.ReadAllLines(@"d:\dd.txt"); //miejsce na zrodlo
	int sum = 0;
	Array.ForEach(tekst, a => 
	{ 
		
		int z = 0;
		if(int.TryParse(a, out z))
			sum += z;
	});

1 użytkowników online, w tym zalogowanych: 0, gości: 1