Max*_*Max 2 .net vb.net garbage-collection memory-management
我有一个像下面这样的功能:
Public Function testFunction(ByVal input_string As String) As String
Dim s As New StringBuilder()
Dim c As Char
For i As Integer = 0 To input_string.Length - 1
c = input_string.Chars(i)
s.Append(c)
Next
Return s.ToString
End Function
Run Code Online (Sandbox Code Playgroud)
但我想知道是否最好明确销毁任何对象,如下所示:
Public Function testFunction(ByVal input_string As String) As String
Dim s As New StringBuilder()
Dim c As Char
For i As Integer = 0 To input_string.Length - 1
c = input_string.Chars(i)
s.Append(c)
Next
Dim t As String = s.ToString
s = Nothing
Return t
End Function
Run Code Online (Sandbox Code Playgroud)
或者让垃圾收集器为我们工作?
以上两个功能都有效,但我只想知道性能的最佳实践......
谢谢
设置s = Nothing
毫无意义,因为它在下一条指令中超出了范围,因此无论如何都有资格进行垃圾收集.
将变量设置为null/nothing并不意味着垃圾收集在此时启动.
归档时间: |
|
查看次数: |
2298 次 |
最近记录: |