如何在内存中处理新对象的未分配实例?

时间:2019-05-16 13:54:14

标签: c# sqlite garbage-collection dispose using

我正在我的应用程序中使用SQLite,并使用SQLiteCommand创建新表。我已经通过using语句实现了这一点:

public void MyTableCreateMethod() {
    // other SQLite code here...

    using (SQLiteCommand command = new SQLiteCommand(
            "CREATE TABLE IF NOT EXISTS MyTable ...", sqliteConnection))
    {
        command.ExecuteNonQuery();
    }
}

但是由于我仅将此对象用于一种ExecuteNonQuery()方法,因此我将代码简化为:

public void MyTableCreateMethod() {
    // other SQLite code here...

    new SQLiteCommand(
            "CREATE TABLE IF NOT EXISTS MyTable ...", sqliteConnection)).ExecuteNonQuery();
}

我知道using实现是最佳实践,但是简化的实现使代码看起来更简洁。我的问题是:

  1. 切换到简化实现对堆栈/堆内存有哪些影响?
  2. 这种简化的实现(使用未分配的新对象)通常是不好的做法吗? (即是否有任何处置或与GC有关的问题?)

0 个答案:

没有答案