您可以使用String.Split方法輕鬆完成此操作。
foreach(var line in file)
{
var result = test.Split(';');
var last = result.Length-1;
var first = result[last-4];
var second = result[last-3];
var third = result[last-2];
var fourth = result[last-1];
var fifth = result[last];
}
作爲一個側面說明,使用CSV文件打交道時,我發現非常有用的一個庫是LINQtoCSV。有一個NuGet包可用,因此它可以很容易地添加到項目。如果您將不得不對此數據進行其他操作,您可能需要查看該數據。
編輯:
這裏是LINQtoCSV這樣的一個例子。如果你閱讀文檔,他們會展示如何設置一個你可以閱讀的更強類型的類,爲簡單起見,我只是以一種純粹的方式來做這件事。
// Define the class for reading, both IDataRow and DataRowItem
// are part of the LINQtoCSV namespace
public class MyRow : List<DataRowItem>, IDataRow
{
}
// Create the context, the file description and then read the file.
var context = new CsvContext();
var inputFileDescription = new CsvFileDescription
{
SeparatorChar = ';',
FirstLineHasColumnNames = false, // Change this if yours does
};
// Note: You don't need to use your stream reader, just use the LINQtoCSV
// Read method to load the data into an IEnumerable. You can read the
// documentation for more information and options on loading/reading the
// data.
var products = context.Read<MyRow>(@"yourfile.csv", inputFileDescription);
// Iterate all the rows and grab the last 5 items from the row
foreach (var row in products)
{
var last = row.Count - 1;
var first = row[last - 4];
var second = row[last - 3];
var third = row[last - 2];
var fourth = row[last - 1];
var fifth = row[last];
}
請發表您的代碼,以便我們可以看到你已經嘗試了什麼。 – Maritim