Зачем вам нужно использовать LINQ? Следующий код решает это без издержек LINQ:
var val = line.Split('\t')[indexToGet];
Разъяснение: с использованным вами синтаксисом понимания запросов невозможно указать, что вам нужен только элемент в данной позиции. Таким образом, с LINQ вам придется полагаться на метод расширения ElementAt
. Таким образом, на первой итерации сокращения вы можете заменить .ToArray().GetValue(indexToGet).ToString();
и получить это:
var val =
(from str in line.Split('\t')
select str).ElementAt(indexToGet);
Кроме того, поскольку в части запроса нет значения, отличного от причудливого (и затрудняющего чтение кода), вы можете сократить его до:
var val = line.Split('\t').ElementAt(indexToGet);
И затем, поскольку ElementAt
в этом случае выполняет индексирование в массив, будет проще просто напрямую использовать индексатор:
var val = line.Split('\t')[indexToGet];