Wyświetlanie elementów listy

0

Czy możliwe jest aby w zaznaczonym poniżej w kodzie miejscu ustawić aby po każdym zakończeniu linii w programie adekwatnie przedstawiało się to w konsoli
np. jeśli mam wczytany plik txt z liczbami ustawionymi tak:

1 2 3 4 
5 6 7 8 9
1 2 3 itd.

i prosiłbym jedynie o modyfikację tego kodu nie pisanie nowego.

using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Podaj ścieżkę do pliku txt\nnp. D\\numery.txt");
            string path = Console.ReadLine();
            while (!File.Exists(path))
            {
                Console.WriteLine("Podana ścieżka do pliku jest nieprawidłowa\nPodaj prawidłową ścieżkę do pliku");
                path = Console.ReadLine();
            }
            string[] items = File.ReadAllText(path).Split(new String[] { " ", Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
            List<int> numbers = new List<int>();
            foreach (string item in items)
            {
                int value = 0;
                if(int.TryParse(item.Trim(),out value))
                {
                    numbers.Add(value);
                }else
                {
                    Console.WriteLine("Znak nie jest liczbą: "+item+"\n");
                }
            }
                Console.WriteLine("Liczby w pliku: ");
                foreach (int number in numbers)
                {
                    /*chodzi mi tutaj czy możliwe jest wprowadzenie jakiegoś warunku if aby adekwatnie jak jest w dokumencie gdy kończył by się wiersz tutaj byłoby tak samo i wyglądało by to jak macież
np 
if(jeśli po liczbie nie będzie następnego znaku w lini to)
Console.WriteLine();
else
Console.Write(number + " ");*/
                    Console.Write(number + " ");
                }
 
            Console.ReadLine();
 
        }
    }
0

http://msdn.microsoft.com/en-us/library/aa287535(v=vs.71).aspx powinno Ci pomóc, zamiast odczytywać cały tekst za jednym zamachem spróbuj tak ;)

0

a mógłby ktoś wytłumaczyć bo z angielskiego średni jestem :(

0

Chodzi o to, żebyś nie wczytywał całego tekstu, tylko wczytywał jedną linię, po kolei. Dokładnie tak, jak dostałeś odpowiedź tutaj: http://4programmers.net/Forum/Newbie/158822-wczytywanie_liczb_z_pliku_txt_-_wprowadzanie_sciezki_z_klawiatury?p=1019515#id1019515

0

Takie coś?

string lines = File.ReadAllLines(path);
foreach (var line in lines)
{
    var items = line.Split(); // pojedyncze liczby jako tekst
    foreach (var item in items)
    {
        int value = 0;
        if(int.TryParse(item.Trim(),out value))
        {
            Console.Write("{0} ", value);
        }
        else
        {
            Console.WriteLine("Znak nie jest liczbą: {0}", item);
        }
    }
}

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