我的问题是关于 IDisposable 的实现。据我所知,当代码或部分完成时,变量或实例被释放;如果陈述有误,请纠正我。以下是我的程序的一部分:
If Con.State = ConnectionState.Closed Then Con.Open()
Cmd = New SqlCeCommand("Select * from BillItem", Con)
Rdr = Cmd.ExecuteReader()
While Rdr.Read = True
Dim x As New Classes.StockRoster
x.BillID = Rdr("BillID")
x.IsSales = Rdr("IsSales")
x.Quantity = Rdr("Quantity")
x.ContactBase = (From t As CommonCodes.ItemBase In ContactsbaseDict Where t.ID = BillContactDict(x.BillID)).First
x.StockEntityBase = StockEntitydict(Rdr("StockID"))
x.BillDate = Rdr("BillDate")
result.AddRange(x)
End While
Con.Close()
End IF
如果此处使用 X 变量,如果 I x(或 StockRoster)使用 IDisposable 接口,是否会改善内存?
默认情况下,资源不能在每个循环结束时处理吗?