我有一個Lat/Lon座標列表,我在while(true)循環中處理。在循環過程中,我構建了一個查詢,該查詢將被髮送到遠程服務進行處理。遠程服務只能接受12對Lat/Lon座標,但是我的列表可能包含數千個座標。我想要做的是構建查詢,然後發送它每12個循環處理。如何解決這個C#循環和處理代碼?
List<string[]> lList = FromDB();
int i = 0;
int intLastIndex - lList.Count;
string strQuery = String.Empty
while(true)
{
strQuery = lList[i][0] + "|" + lList[i][1];
if(((i % 11) == 0) && (i != 0))
{
SendToRemoteService(strQuery);
strQuery = String.Empty;
}
if(i == intLastIndex)
{
break;
}
i++
}
但是,這會生成一個數組越界的異常,並且不會處理所有記錄。任何人都可以提出更好的方法?
馬克
每當我覺得我的權利,我看到另一個bug – 2010-01-17 02:28:42
我們應該使用TDD這個=) – 2010-01-17 02:29:21
通過使用GroupBy語句,你將有所有的數據在內存中(照顧你的內存;)) – Maghis 2010-01-17 02:33:21