Microsoft(和许多开发人员)声称SqlDataReader.GetOrdinal方法与使用命名查找即使用DataReader相比,提高了从DataReader检索值的性能。reader [“ ColumnName”]。问题是,如果处理小的分页记录集,那么 真正的 性能差异是什么?在整个代码中查找和引用序数索引是否值得付出额外的开销?
Microsoft建议不要在循环内调用GetOrdinal。
这将包括使用字符串索引器的间接调用。
您可以在循环的顶部使用GetOrdinal,将序数放入数组中,并使数组中的索引为const或为它们提供一个枚举(根本没有GetOrdinal),或者将GetOrdinal用作具有描述性名称的单个变量。
只有当您的集合很小时,我才真正认为这是过早的优化。