草庐IT

while-equivalent

全部标签

c# - TcpListener : how to stop listening while awaiting AcceptTcpClientAsync()?

我不知道如何在异步方法等待传入连接时正确关闭TcpListener。我在SO上找到了这段代码,这里是代码:publicclassServer{privateTcpListener_Server;privatebool_Active;publicServer(){_Server=newTcpListener(IPAddress.Any,5555);}publicasyncvoidStartListening(){_Active=true;_Server.Start();awaitAcceptConnections();}publicvoidStopListening(){_Active=

c# - "while (true)"通常用于永久线程吗?

我对编码比较陌生;我的大部分“工作”只是简单的GUI应用程序,它们只用于一件事,所以我不需要线程太多。无论如何,关于线程我想知道的一件事是,如果你想让一个线程永远保持事件状态以完成它正在做的任何工作(处理,等待输入,等等),像这样格式化它是否正常:while(true){//dostuffThread.Sleep(1000);}(或类似的东西)...?还是这不安全,是否应该尽可能避免? 最佳答案 是的,这就是您所做的。但通常是这样的:boolkeepRunning=true;...while(keepRunning){}因为有时您可

c# - 无法连接到 VS2012 中的 localDB – "A network-related or instance-specific error occurred while establishing a connection to SQL Server..."

这很奇怪,因为我能够使用相同的连接字符串通过SSMS2008R2连接到localDB("DataSource=(LocalDB)\v11.0;IntegratedSecurity=true")只有C#代码无法连接,我尝试使用ConnectTimeout=60增加登录时间,但没有成功。我还尝试指定数据库InitialCatalog=其中是我通过ssms在localdb上创建的。关于为什么没有连接的任何指示? 最佳答案 有没有可能是因为您忘记对反斜杠进行两次转义?你试过这个吗:"DataSource=(LocalDB)\\v11.0;I

c# - EF 代码首先是 : How to delete a row from an entity's Collection while following DDD?

场景是这样的:DDD声明您使用存储库获取聚合根,然后使用它来添加/删除它拥有的任何集合。添加很简单,您只需在要添加到的Collection上调用.Add(Itemitem)。保存时会向数据库中添加一个新行。但是,删除是不同的-调用.Remove(Itemitem)不会从数据库中删除项目,它只是删除外键。因此,是的,从技术上讲,它不再是收藏的一部分,但它仍在数据库中。仔细阅读,唯一的解决方案是使用数据上下文将其删除。但是根据DDD,域对象不应该知道数据上下文,因此必须在域外进行删除。解决这个问题的正确方法是什么?或者让数据库中充满孤儿是可以接受的吗(也许运行一个例程来清除它们)?

c# - 将 TryDequeue 放在 while 循环中是否安全?

我以前没有用过并发队列。是否可以在while循环中使用如下所示的TryDequeue?这能不卡死吗?varcq=newConcurrentQueue();cq.Enqueue("test");stringretValue;while(!cq.TryDequeue(outretValue)){//Maybesleep?}//Dorestofcode 最佳答案 从某种意义上说,循环实际上不会结束,直到有一个项目被取出,并且如果队列有一个项目要取出,它最终会结束,这是安全的。如果队列被另一个线程清空并且不再添加任何项目,那么循环当然不会结

javascript - 错误 : unable to get local issuer certificate while running yarn command

我有自己的私有(private)npm注册表http://something。我安装了yarn并尝试运行以下命令。yarn但它给出了以下错误。Trace:Error:unabletogetlocalissuercertificateatError(native)atTLSSocket.(_tls_wrap.js:1017:38)atemitNone(events.js:67:13)atTLSSocket.emit(events.js:166:7)atTLSSocket._init.ssl.onclienthello.ssl.oncertcb.TLSSocket._finishInit(

javascript - While 循环使用 jQuery 异步 AJAX 调用

事情:我有一个页面,它必须显示不确定数量的图像,通过AJAX(在服务器端使用base64编码)一张一张地加载。varposition='front';while(GLOB_PROCEED_FETCH){getImageRequest(position);}functiongetImageRequest(position){GLOB_IMG_CURR++;$.ajax({url:urlAJAX+'scan='+position,method:'GET',async:false,success:function(data){if((data.status=='empty')||(GLOB_

javascript - while(0=0) 计算结果为 false

b=10;while(a=b){b--;if(b==-10)break;}B从10变为-10。在我的世界中,while语句a=b应该始终为真(因为赋值总是“顺利进行”)。事实并非如此。当循环停止时,b的值为0。在我的世界里,当if语句开始时,它应该从0一直到-10。我是不是误解了什么重要的东西?(代码在IE8和Adob​​eAcrobat中测试) 最佳答案 (0=0)==0==false 关于javascript-while(0=0)计算结果为false,我们在StackOverflow

javascript - 为什么 ESLint 在 while(true) 使用纤程时触发 lint 错误?

我得到了带有一些无限循环的JS代码(我们正在使用节点纤维来允许事情发生)。ESLint讨厌:while(true){}因为条件不变。以下是允许的:for(;;){}除了喂养lintbeast,是否有任何客观理由支持for而不是while(反之亦然)?注意:这个问题明确要求客观原因,因此不仅仅是基于意见。 最佳答案 这些关于无限循环的规则来自于生成器出现之前,甚至没有意识到纤程。假设每个函数永远不会暂停和返回(如生成器、async-关键字函数或纤程),该规则对于警告循环中的常量非常有意义。现在时代变了-规则不再有意义,您正在做的事情完

javascript - 在 do-while 循环中使用 continue

MDNstates:Whenyouusecontinuewithoutalabel,itterminatesthecurrentiterationoftheinnermostenclosingwhile,do-whileorforstatementandcontinuesexecutionoftheloopwiththenextiteration.我不确定为什么下面的代码不能按我预期的那样工作。do{continue;}while(false);即使while条件为false,我希望它永远运行,因为continue跳转到block的开头,它立即再次执行continue等等。然而,不知何