如果你想使用text1.txt
作爲關鍵字的列表,並text2.txt
作爲值的列表,你可以簡單地讀取行的第一個文件中的行成一個字典,例如dictKeys
,並將第二個文件讀入另一個字典dictValues
。然後,您可以遍歷dictKey
並將dictValues
中的值提取到新字典中。
此時,只需遍歷新字典並將其寫入文件即可。
Dictionary<string, int> dictKeys = new Dictionary<string, int>();
Dictionary<int, int> dictValues = new Dictionary<int, int>();
using (var r = new StreamReader("text1.txt"))
{
string line;
while ((line = r.ReadLine()) != null)
{
var splitLine = line.Split(',');
dictKeys.Add(splitLine[0], Convert.ToInt32(splitLine[1]));
}
}
using (var r = new StreamReader("text2.txt"))
{
string line;
while ((line = r.ReadLine()) != null)
{
var splitLine = line.Split(',');
dictValues.Add(Convert.ToInt32(splitLine[0]), Convert.ToInt32(splitLine[1]));
}
}
Dictionary<string, int> dictCombined = new Dictionary<string, int>();
foreach (var item in dictKeys)
{
var keyVal = item.Value;
if (dictValues.ContainsKey(keyVal))
dictCombined.Add(item.Key, dictValues[keyVal].Value);
}
using (var w = File.OpenWrite("Final.txt"))
{
foreach (var item in dictCombined)
w.WriteLine("{0}={1}", item.Key, item.Value);
}
第一我雖然關於這兩個txt文件的ReadAllLines然後做一個foreach,但最終在foreach一個foreach內剛剛結束了在成品txt文件完全是一派胡言 – user3470088
如果是我,我會流將這兩個文件讀到一個'List'中,並假設它們的行數相同,然後我將這些值的子字符串排列到'='字符的左邊,然後將這些文件寫回。 –
mituw16
這是做到這一點的一種方式。嵌套爲eaches是一個很好的第一遍。你應該發佈該代碼。 – Brad