Miałem taki kod:
String[] lineElements;
. . .
try
{
using (StreamReader sr = new StreamReader("TestFile.txt"))
{
String line;
while ((line = sr.ReadLine()) != null)
{
lineElements = line.Split(',');
. . .
ale potem pomyślałem, że może zamiast tego powinienem wybrać Listę. Ale ten kod:
List<String> listStrLineElements;
. . .
try
{
using (StreamReader sr = new StreamReader("TestFile.txt"))
{
String line;
while ((line = sr.ReadLine()) != null)
{
listStrLineElements = line.Split(',');
. . .
... daje mi komunikat „ Nie można niejawnie przekonwertować typu„ string [] ”na„ System.Collections.Generic.List ” ”
listStrLineElements = line?.Split(',').ToList();
Albo użyj:
lub z LINQ:
Lub zmień kod, aby nie polegał na konkretnej implementacji:
źródło
Uwzględnij używając przestrzeni nazw
System.Linq
możesz go z łatwością wykorzystać do iteracji po każdym elemencie.
String.Split()
zwraca tablicę, dlatego przekonwertuj ją na listę przy użyciuToList()
źródło
Po prostu możesz używać z
using System.Linq;
źródło
Wypróbuj tę linię:
źródło
Spowoduje to odczytanie pliku csv i zawiera rozdzielacz linii csv, który obsługuje podwójne cudzysłowy i może czytać, nawet jeśli program Excel ma go otwarty.
źródło
Służy
AddRange
do przekazywaniastring[]
i uzyskiwania listy ciągów.źródło