2012-10-13 85 views
2

我這看到了一些新的代碼,很多我繼承:DataTable.NewRow是否可以執行除返回行之外的其他任何操作?

DataRow row = Method.dtContainer.NewRow();

但隨後行從未添加到表甚至後使用。 ReSharper將其顯示爲灰色並且可以安全移除。但是,我應該刪除整個行還是隻是變量賦值? Anotherwords,是否調用NewRow對錶做任何事情,或只是返回一個新的對象,然後可以添加到DataTable?我已經檢查過,並且沒有通過反射,gotos等訪問其他地方。

謝謝。

回答

4

Resharper是對的。

NewRow()只是返回具有DataTable實例的結構(模式)的新行。

一般情況下,新行填充數據並添加到DataTable,像這樣:

dataTable.Rows.Add(newRow); 

如果它不以任何方式使用,就可以安全地刪除了這一行。

1

嘗試運行這段代碼:

var table = new DataTable(); 

    while(true) 
    { 
     var row = table.NewRow(); 
    } 

如果ReSharper的是正確的,它不會拋出OutOfMemoryException異常!

相關問題