除了jkirkwood的回答,您還可以讀取每一行並有條件地將一個類或結構添加到對象列表中。
一些快速,半僞代碼:
List<MyObject> ObjectList = new List<MyObject>();
struct MyObject
{
int Property1;
string Property2;
bool Property3;
}
while (buffer = StreamReader.ReadLine())
{
string[] LineData = buffer.Split(',');
if (LineData[LineData.Length - 1] == "true") continue;
MyObject CurrentObject = new MyObject();
CurrentObject.Property1 = Convert.ToInt32(LineData[1]);
CurrentObject.Property2 = LineData[2];
CurrentObject.Property3 = Convert.ToBoolean(LineData[LineData.Length - 1]);
ObjectList.Add(CurrentObject);
}
它真的有種取決於你想要的數據做一旦你讀它是什麼。
希望這個例子有點幫助。
編輯
正如在評論中指出,請注意,這只是一個簡單的例子。你的CSV文件可能有限定符和其他的東西,使字符串分裂完全無用。外賣的概念是將行數據讀入某種臨時變量,根據需要對其進行評估,然後根據需要將其輸出或添加到集合中。
EDIT 2
如果線路長度會有所變化,你需要抓住最後一個字段,而不是* N *個場,所以我改變了布爾字段採集來告訴你如何將總是得到最後一個字段,而不是第42個字段。
什麼是你的代碼看起來像那麼遠?你現在怎麼讀行? – JYelton 2011-06-06 16:54:21
用上面的代碼編輯 – InfoLearner 2011-06-06 16:58:23
文件有多大?每條線有多長時間? – 2011-06-06 17:02:20