我目前使用此代码来检查是否有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