using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace _03弱引用
{
class Program
{
static void Main(string[] args)
{
//使用弱引用
Person p = new Person();
p.Age = 17;
WeakReference we = new WeakReference(p);
p = null;
GC.Collect();
object pnew = we.Target;
if (pnew!=null)
{
Console.WriteLine(((Person)pnew).Age);
}
else
{
Console.WriteLine("没了");
}
Console.ReadKey();
}
}
public class Person
{
public string Name
{
get;
set;
}
public int Age
{
get;
set;
}
string Email
{
get;
set;
}
}
}
程序如上,这个输出的是17,不是“没了"
,我监视pnew ,发现在 object pnew = we.Target; 时,pnew的值是null ,但是到了if (pnew!=null)这一句,pnew的值就变成了
+ pnew {_03弱引用.Person} object {_03弱引用.Person} 这是什么情况?
.net 4 修改了么?
关于C#弱引用的问题
答案:2 悬赏:20 手机版
解决时间 2021-02-06 18:21
- 提问者网友:黑米和小志
- 2021-02-05 20:46
最佳答案
- 五星知识达人网友:逃夭
- 2021-02-05 21:32
GC.Collect方法,并不一定会真的回收对象,你这程序相当简单,用的内存很少,clr并不一定会回收那对象。
全部回答
- 1楼网友:独钓一江月
- 2021-02-05 22:02
你要先导入jquery然后才能使用,比如
<script src="src/jquery.1.4.2.min.js" type="text/javascript"></script>
<script type="test/javascript">
jquery(document).ready(funtion($){
//$("#id1").click();
});
</script>
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯