代码之家  ›  专栏  ›  技术社区  ›  spacemonkeys

对象重用在.NET中是如何工作的?

  •  0
  • spacemonkeys  · 技术社区  · 16 年前

    我们还有一个BOOK对象和PAGES对象。

    然而

    3 回复  |  直到 12 年前
        1
  •  5
  •   Jon Skeet    16 年前

    您对字符串的理解仅适用于字符串常量,而不适用于以任何其他方式创建的字符串。

    如果数千个数据库对象都是“相同”的,那么听起来它们实际上应该传递对同一对象的引用。你需要理解 the difference between a reference and an object

    最后,代码中的任何内容都不应该保留连接。打开连接,做任何你需要做的事情,然后再关闭它几乎总是更好的。连接池系统可以确保 与数据库的连接(创建成本相对较高)被重用。

        2
  •  2
  •   Community CDub    8 年前

    字符串与其他对象一样使用特殊情况处理。当其他对象停留在堆上时(更详细 here http://msdn.microsoft.com/en-us/library/system.string.isinterned(VS.80).aspx

    最好通过尽可能晚地创建连接并尽快关闭连接来处理数据库连接。虽然可以传递连接信息,但不应该传递实际连接。

        3
  •  1
  •   Cohen    16 年前

    首先:字符串是作为值类型处理的对象(因为这是您期望的行为),这意味着无论何时执行赋值/操作(如串联、替换等),值都会复制到string类的新实例中。例如: 字符串t=“你好”;

    关于数据库对象。。。看看ORM制图器(我个人使用亚音速) -一个数据库对象(如您所拥有的)管理到数据库的连接

    现在您有了1个数据库对象(它可以包含多个连接,但这不是经常做的…) 用于创建数据(或域对象,具体取决于定义方式)、更新或删除数据的控制器类。