
正文
关于vb.netusing的信息
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb.net怎么把对象真正的立即释放掉
.NET目前的垃圾回收机制不能实现把对象真正的立即释放掉,GC会对垃圾进行管理,如果垃圾没有引用计数了,就会被回收。
编码的时候能用托管类尽量用托管类去实现你的功能,
对于实现了IDisposable接口的类,用完了记得调用close或者Dispose又或者相应的方法去释放资源,最好吧使用using语句块;
对于Com对象,用完了先关闭,然后调用Runtime.InteropServices.Marshal.FinalReleaseComObject()方法把Com对象的引用计数设置为0。当 COM 对象的引用计数变为 0 时,通常会释放 COM 对象,不过这取决于 COM
对象的实现,而不是运行时可以控制的。最后调用ComObj = Nothing以释放ComObj持有的引用。不过要注意,只有当ComObj的生存期相对于垃圾回收器用于检测孤立对象的时间来说很长时,你才应该将变量设置为 Nothing。
有部分来自MSDN
相关问答
Q1: VB.NET引用
Private Function ReadFile(ByRef a As String) As String
a = "bian"
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As String = "yuanlai"
ReadFile(a)
''想要的结果就是在这里使用a的值是"bian"
MsgBox(a)
End Sub
===================
以上就可以,不知道你“ByRef a As b”的b是什么东西
Q2: vb.net如何实现另一个程序的功能
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
namespace test
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Process.Start("cmd");//启动CMD
}
}
}








