我有2個DataTables:TableNumber包含移動號碼和TableCode,它包含所有可能的移動代碼的混合,所有可能的移動代碼都是6位數字。我想創建一個列表,只有它的6個第一個數字來自TableCode的數字,因此不會考慮其第一個數字不在TableCode中的任何數字。我已經用foreach,.Contains(),IndexOf(),但都是慢的,因爲在數字中的記錄超過100,000,並且循環所有項目需要很長的時間。並與另一個表進行比較。我使用了2個嵌套的foreach循環。我做了一些愚蠢的事情,我認爲有2 foreach,因爲這將是30億搜索TableCode的30,000名成員,它需要我5分鐘給我結果。我的代碼是這樣的:將Datatable與另一個比較,看它是否有正確的格式
foreach(string codetable in TableCode)
{
foreach(string grouptable in TableNumber)
{
if(grouptable.IndexOf(codetable)!=-1)
{
//work here
}
}
}
在這裏,我已經添加表的行數僅含有數字,所以我在這裏搜索列表,但類似這樣的嘗試比較數據表時再花費太長的名單。
_「已經用foreach試過,。載有()的IndexOf(),但都是慢...我用2嵌套的foreach循環。我正在做一些愚蠢的事情,我認爲有2 foreach,因爲這將是30億次搜索......「_只是顯示你已經嘗試過,這是很難理解的問題 – 2013-03-05 08:49:26
我很努力地看到你的嘗試以實現,也許重新解釋這個問題!?! – Derek 2013-03-05 08:51:20
_「我想創建一個列表,只有其數字的第一個數字是從TableCode」_ _那麼,爲什麼你不只是從'DataTable'中的所有數字, TableCode only? – 2013-03-05 08:51:29