Dot-Net
在 .Net DataSets 上使用列名或列索引會更好嗎?
從 DataRow 檢索值時,使用列名還是列索引更好?
列名更具可讀性和更易於維護:
int price = (int)dr["Price"];雖然列索引更快(我認為):
int price = (int)dr[3];如果您決定混淆數據庫,使用列名會中斷嗎?
我通常更喜歡可讀性和理解而不是速度。隨名而去。如果您決定更改數據庫列名,您可以(應該)使用可以在一處更新的字元串常量。
通過列名訪問列/行值更利於人類閱讀和向前兼容性(如果將來有人更改順序或列數)。
通過列索引訪問列/行值對性能更好。
所以,如果你想改變一個/兩個/…..行中的一些值,列名是可以的。但是,如果您想更改數千行中的某個值,則應使用從列名計算的列索引:
int ndxMyColumn = table.Columns.IndexOf( "MyColumn" ); foreach(DataRow record in table.Rows ) { record[ndxMyColumn] = 15; }