Listy – Importowanie z pliku CSV

6) Importowanie z pliku CSV

Teraz nadszedł czas na prawdziwe demo. W ostatnim rozdziale stworzyłem demo, które wyświetlało 7 pierwszych miast zaimportowanych z pliku CSV. Teraz zamierzam zmodyfikować to demo, aby zamiast importować tylko 7 miast, importować i wyświetlać wszystkie miasta. Mamy tutaj nasz CsvReaderCsvReader jest odpowiedzialny za czytanie miast.

Metodę, którą muszę zmienić, to ReadFirstNCitys. Ta metoda oczywiście musi teraz odczytać wszystkie miasta, więc najpierw zmienię nazwę metody, aby odzwierciedlić jej nowy cel.

A ponieważ importuję wszystko, nie potrzebuję już argumentów, aby powiedzieć, ile miast chcę.      

Poza tym oczywiście muszę zwrócić listę miast, a nie tablicę miast.

To samo dotyczy zmiennej miasta.

Ta zmienna miasta  citys[i] =   również musi się zmienić. Tutaj próbuje zastąpić element listy. Ale składnia do zamiany elementów dla listy jest dokładnie taka sama jak i dla tablicy. Więc ten wiersz jest poprawny pod względem składniowym. ale to tutaj nie zadziała, ponieważ lista zaczyna się pusta, więc nie ma elementów do zastąpienia. Zamiast tego musimy dodać każde miasto do listy, powiększając ją. Teraz to zrobię,

i pętla musi przejść do końca pliku, a nie zatrzymywać się po n miastach.

Teraz to jest pętla while, a nie pętla for. Logika oparta jest na funkcji StreamReader.ReadLine.ReadLine zwróci null, jeśli stwierdzi, że nie może już czytać danych, ponieważ osiągnął już koniec pliku. Chodzi o to, że czytamy dalej, dopóki ReadLine nie zwróci wartości null.

Powinienem także sprawdzić metodę Main, która wyświetla miasta. Program VisualStudio zaznacza tutaj błąd kompilacji. Jest tak, ponieważ w tej metodzie miasta są zadeklarowane jako tablica miast, a ReadAllCitys zwraca listę miast i nie jest wymagany żaden parametr.  Naprawmy to.

Teraz jest w porządku, a kluczową rzeczą, którą należy zauważyć tutaj, jest to, że nie muszę niczego zmieniać w tej pętli foreach.
Foreach działa dokładnie tak samo w przypadku listy jak i przypadku tablicy, i prawdopodobnie w tym miejscu możesz zobaczyć piękno kolekcji. Mimo że różne kolekcje mają różne możliwości, Microsoft starannie je zaprojektował, aby bardzo często działał ten sam kod dla każdego typu kolekcji.

Teraz możemy uruchomić nasz kod, aby wyświetlić listę wszystkich miast.
I teraz mamy wyświetlane wszystkie miasta.

Cały kurs dostępny na Udemy

!!! Dodatkowo Prezent !!!

Książka “Wprowadzenie do kolekcji C#”


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *