我目前使用此代碼來檢查是否有DataReader的現有列:優化循環結果?
public static class DataRecordExtensions
{
public static bool HasColumn(this IDataRecord dr, string columnName)
{
for (int i=0; i < dr.FieldCount; i++)
{
if (dr.GetName(i).Equals(columnName, StringComparison.InvariantCultureIgnoreCase))
return true;
}
return false;
}
}
我重用這個代碼很多,所以它不斷通過運行For循環。
反正我有可以優化呢?例如,如果列不存在,那麼它表示結果對於所有內容都是相同的,我不必再遍歷所有內容。同樣如果它是現有的,我知道它是存在的,並且不需要再次通過循環。
謝謝!
您是否爲每條記錄調用此方法?使用這種方法的代碼片段會很有幫助。 –
如何填寫'HashSet existingColumnNames' * *然後只檢查'existingColumnNames.Contains(columnName)'? –
Corak
感謝Ufuk和Corak。我喜歡Corak的建議,我會盡力去做,看看錶現如何。 – Water