2009-03-11 8 views
0

J'ai une datatable fortement typée et je recherche une ligne par clé primaire (FyndBy) et si la ligne existe, je veux la supprimer. Du point de vue du style, quelles méthodes préférez-vous?Trouver une ligne dans une table de données et la supprimer dans .Net

MyDataRowType selectedRow = table.FindByTablePrimaryKey(something); 
if (selectedRow != null) 
    selectedRow.Delete(); 

ou

if (table.FindByTablePrimaryKey(something) != null) 
    table.FindByTablePrimaryKey(something).Delete(); 

Répondre

1

La raison technique pour choisir la première est que vous utilisez un simple pointeur (habituellement seulement 4 octets de mémoire) pour stocker une référence à la row - c'est-à-dire, en utilisant seulement 4 octets, vous gagnez à ne plus scanner la table, ce qui prend beaucoup de ressources (en fonction de la taille de la table, bien sûr).

7

Absolument le premier. L'utilisation de la seconde nécessite que la table soit recherchée deux fois et qu'elle soit plus difficile à lire. (À mon humble avis)

1

Généralement id dire le premier exemple ..

Questions connexes