我在C#桌面應用程序的工作,使用Visual Studio 2010中 我想讀每個記錄並加載了「街道名稱辭典」對我們每個人的狀態。 例如,我讀了第一條記錄(id = 1),所以我加載AlabamaDictionary.txt,因爲這條記錄來自阿拉巴馬州,在加載它之後,啓動地址標準化等另一個過程。當這個過程結束時,我讀下一個記錄(id = 2),我必須檢查「狀態」是否相同,如果是與以前相同的狀態,我不需要再次加載AlabamaDictionary.txt,因爲它尚未加載,啓動另一個像地址標準化這樣的過程。當這個過程完成後,我讀取來自「Arizona」的下一個記錄(id = 3)。這裏狀態改變,所以我需要加載Arizona.txt,並再次啓動另一個地址標準化過程等... 我的問題是改變字典,檢查它是什麼時候改變。如何解決在c#中的循環?
Records
"id" | "address" | "state"
1 |100 Elm St | Alabama
2 |300 Trawick St | Alabama
3 |50023 N 51st Ave | Arizona
我有下一個循環 代碼: 數據表記錄;
for (int i = 0; i < records.Rows.Count; i++)
{
string address = records.Rows[i][1].ToString();
string state = records.Rows[i][2].ToString();
streetDictionary = state + ".txt";
if(File.Exists(streetDictionary))
{
//Here I need to identify state change,
//so if state change , to use another dictionary and load it,
//but if don't change it (state), I need to use the same dictionary
//(if is load it yet)
LoadStreetDictionary(streetDictionary);
//Process Address Standardization
StreetNameStandardization(address)
}
}
請問我該怎麼做這個循環? 非常感謝!
謝謝Maku但不工作,因爲如果我第一次記錄(id = 1狀態=阿拉巴馬州)它工作正常,加載alabama.txt,但在下一個記錄(id = 2狀態=阿拉巴馬州)如果(!狀態.Equals(prevSate))不要讓,我需要在,使用相同的字典先前加載它(不再加載) – Patricio
對不起,我錯過了這部分「開始像地址標準化的另一個過程。」。我更新了我的答案。 – Sherlock
非常感謝!它工作完美。 – Patricio