我已经编程了一段时间(2年的工作+ 4.5年的学位+ 1年的大学预科课程),而且我从未使用过do-while循环而不是被迫参加编程入门课程.如果我从未遇到过如此根本的事情,我会越来越感觉我编程错了.
可能是因为我没有遇到正确的情况吗?
有哪些例子需要使用do-while而不是一段时间?
(我的学校教育几乎都是用C/C++编写的,我的工作是在C#中,所以如果有另一种语言绝对有意义,因为do-whiles的工作方式不同,那么这些问题并不适用.)
澄清......我知道a while和a 之间的区别do-while.在检查退出条件然后执行任务时.do-while执行任务然后检查退出条件.
跟进来自多核用法,线程,线程池的问题.
线程在生命周期内是否从一个核心移动到另一个核心?
当然.想象一下,您在双核系统上运行了三个线程.向我展示一个公平的时间表,不涉及在核心之间定期移动线程.
这是我第一次访问这个网站,所以我没有足够的代表发表评论.我决定只提出一个新问题,引用我想评论的问题.
选择要移动线程的核心的过程是什么?它是否像调度程序有一个需要处理时间的线程列表,当一个完成时它会放入另一个?
另外,我想知道是否存在线程在核心之间移动的语句的引用.还是仅仅被认为是"普通知识"?
谢谢!
据我所知,如果你有一个具有IDisposable的成员m的A类,A应该实现IDisposable,它应该在其中调用m.Dispose().
我找不到令人满意的理由,为什么会这样.
我理解规则如果你有非托管资源,你应该提供一个终结器和IDisposable,这样如果用户没有显式调用Dispose,终结器仍然会在GC期间清理.
但是,根据该规则,您似乎不需要具有此问题的规则.例如...
如果我有课:
class MyImage{
private Image _img;
... }
Run Code Online (Sandbox Code Playgroud)
公约规定我应该有MyImage : IDisposable.但是如果Image遵循惯例并实现了终结器而我并不关心资源的及时发布,那有什么意义呢?
UPDATE
我在这里找到了一个很好的讨论.
在我有两个表的情况下:
我想选择所有游戏和玩家的性别,我如何绕过null playerIds?
根据这个解释,我认为答案是:
SELECT Games.id, p1.gender, p2.gender
FROM Games JOIN Players p1 on player1Id = p1.id
JOIN Players p2 on player2Id = p2.id
Run Code Online (Sandbox Code Playgroud)
但是,这不会返回任何将player1Id或player2Id设为null的游戏.有可能在可能的情况下显示所有连接玩家的游戏吗?
谢谢.