Ваша переменная path
является строкой.Это означает, что когда вы foreach
превышаете его, вы получаете последовательность из символов - 'C' затем ':' затем '\' и т. Д. Я не думаю, что это то, что вы хотите сделать...
Вот более простой подход с использованием File.ReadLines
:
string path = @"C:\Users\dave\Desktop\codes\testfile.txt";
List<string> stkno = (from line in File.ReadLines(path)
let words = line.Split(',')
select words[1]).ToList();
Или:
string path = @"C:\Users\dave\Desktop\codes\testfile.txt";
List<string> stkno = File.ReadLines(path)
.Select(line => line.Split(',')[1])
.ToList();
Если вы используете .NET3.5, и вы не против прочитать весь файл за один раз, вместо этого вы можете использовать File.ReadAllLines
.