2009-03-11 19 views
0

Ich habe eine stark typisierte Datentabelle und ich suche nach einer Zeile nach Primärschlüssel (FyndBy) und sie, wenn die Zeile existiert, möchte ich es löschen. Aus welcher Stilrichtung welche der folgenden Methoden bevorzugen Sie?Suchen einer Zeile in einer Datentabelle und Löschen in .NET

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

oder

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

Antwort

1

Der technische Grund für die erste Wahl ist, dass Sie einen einfachen Zeiger verwenden (in der Regel nur 4 Byte Speicher) einen Verweis auf die speichern row - das heißt, mit nur 4 Bytes gewinnen Sie, wenn Sie die Tabelle nicht erneut scannen, was eine Menge Ressourcen beansprucht (natürlich abhängig von der Tabellengröße).

7

Absolut das erste. Bei Verwendung der zweiten muss die Tabelle zweimal durchsucht werden und es ist auch schwieriger zu lesen. (IMHO)

1

Allgemeinen id sagen das erste Beispiel ..

Verwandte Themen