Я получаю текстовый файл с разделителями табуляции, который необходимо проанализировать.После анализа детали должны быть назначены определенным столбцам.
Вот пример кода, который я использую для этого:
string path = "C:\\Users\\Robert\\Desktop\\Test.txt";
FileInfo fileInfo = new FileInfo(path);
using (StreamReader streamReader = fileInfo.OpenText())
{
string line = "";
while ((line = streamReader.ReadLine()) != null)
{
string[] columns = line.Split('\t');
Output0Buffer.AddRow();
Output0Buffer.Column0 = columns[0];
Output0Buffer.Column1 = columns[1];
Output0Buffer.Column2 = columns[2];
Output0Buffer.Column3 = columns[3];
Output0Buffer.Column4 = columns[4];
}
}
Проблема в том, что некоторые изстроки в текстовом файле не имеют 5 столбцов, и этот код завершается неудачно, когда он пытается присвоить Column4 значение столбцов [4] (на самом деле мой настоящий файл состоит из 21 части, поэтому он более подвержен сбоям).
Как можно переписать это, чтобы присвоить значения столбцу 4 (5,6 - 21) только при наличии фактических данных?Кроме того, можно ли это записать в цикл for или foreach, чтобы сделать его немного более аккуратным, поэтому мне не нужно иметь строку для всех 21 столбца?
Любая помощь очень ценится!