我有以下結構有沒有像.NET Dictionary那樣用重複鍵填充文本文件?
01|value|value|value|value|value|value
02|value|value|value|value|value|value
03A|value|value|value|value|value|value
03A|value|value|value|value|value|value
.
.
N
04|value|value|value|value|value|value
05|value|value|value|value|value|value
06|value|value|value|value|value|value
.
.
N (variable lines)
我試圖讀取該文本文件,並以使用它像MyDic["01"][0]
添加到<string, string[]>
類型的字典的文本文件,這是代碼的片段:
Dictionary<string, string[]> txtFromFile= new Dictionary<string, string[]>();
string strLine;
using (StreamReader sr = new StreamReader(filePath))
{
while ((strLine= sr.ReadLine()) != null)
{
string[] strNodes= strLine.Split('|');
txtFromFile.Add(strNodes[0], strNodes);
}
}
不幸的是,你可以看到,這個文本文件可能有重複鍵,如03A
,所以我在想,如果有一個在C#中的回收來實現這一點。
注意我看到一個名爲lookup的類,但沒有它的構造函數。
- 任何想法我的朋友?
- 你有什麼建議?
謝謝!
這並不完全符合需要,因爲他希望從查找返回的是分割字符串,這將是line.Split('|')的值,但它很接近,我正在挑剔。 – doctorless
如果你有.NET 4,使用'ReadLines()'(它返回'IEnumerable')而不是'ReadAllLines()',它將整個文件加載到你不需要的數組中。 –
dahlbyk
@d_r_w就是這樣做 - 'result'具有類型'ILookup'。 –
dahlbyk