我已經創建了一個代碼來處理從一臺服務器到另一臺服務器的數據,並且每隔幾分鐘就會執行一次。所以,它一定更快。在這個過程中有一個包含超過1000條記錄的列表。記錄是字符串格式。我想用給定部分的字符串過濾記錄。所有匹配的記錄應該被過濾並存儲在另一個列表中。如何使用通配符篩選列表中的項目?
例如:我在列表中有一些記錄。
Table1_Field1
Table1_Field2
Table1_Field3
Table2_Field4
Table2_Field4
Table2_Field4
如果我想要得到所有包含字符串部分「Table1」的記錄,那麼結果應該看起來像這樣。
Table1_Field1
Table1_Field2
Table1_Field3
我知道這可以通過使用LINQ來完成。但是,我正在使用Visual Studio 2005 .Net Framework 2.0。另外我可以通過DataTable.Select()來做到這一點,但這很耗時。任何耗費時間超過50毫秒的方法都會導致我的應用程序出現問題。所以,它必須更快。我無法使用帶有通配符'*'的簡單循環過濾記錄。
請建議我如何在最短時間內做到這一點。
什麼樣的名單呢?一個'列表'的東西?你想過濾數據源? 1000條字符串記錄應該在50ms內易於過濾。至於無法循環執行,無論選擇什麼方法,它都會循環。 LINQ是一個快捷方式,但你仍然會最終迭代/枚舉每條記錄。如果你在談論然後顯示過濾的記錄,或許這是耗時的。無論如何,我認爲我們需要更多信息。 –
@EliGassert我很困惑,使用列表對象。我應該使用字符串數組還是使用列表或任何其他集合對象。我的問題是哪種方法最適合在最短時間內獲得過濾記錄。數據的類型是一個字符串列表。 –
Shell
我可以在數組中使用BinarySearch嗎? – Shell