工作要我学用c sharp开发软件

本文探讨了在C#中使用System.Timers.Timer类时,为避免垃圾回收器提前回收Timer对象而采取的GC.KeepAlive方法。文章对比了C++与C#中对象生命周期管理的不同,并分享了作者从C++转向C#的学习体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近公司要开发新的软件,需要使用c sharp, 而且还是和别人合作。

所以老大要求开始学习c sharp, 要在合作中学习以及积极参与。

之前一直的c++, vc环境,看c sharp就是怪啊,其实也能看得懂,就是怪。

比如, Systems.Timers.Timer 这个类,优快云有这样的一段解释

// Normally, the timer is declared at the class level,

// so that it stays in scope as long as it is needed.

// If the timer is declared in a long-running method,

// KeepAlive must be used to prevent the JIT compiler

// from allowing aggressive garbage collection to occur

 // before the method ends. (See end of method.)

 

说的是,为了防止Timer 对象被垃圾回收器给回收,需要用GC.KeepAlive来申明一下。

若是c++, 直接定义一个类成员Timer对象就好了,哪有被回收的道理。

 

看样子有的熬了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值