草庐IT

collisions_block

全部标签

c# - 即使在 using block 中抛出异常,资源也会被释放吗?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:DoesDisposemethodstillgetcalledwhenExceptionisthrowninsideofUsingstatment?访问数据库时,我有很多usingblock。我想知道-如果必须在usingblock中抛出异常,即使未到达block的末尾,是否仍会处理必要的资源?或者我需要自己在catchblock中手动关闭它们吗?

c# - 您能否在每个 block 中捕获不止一种类型的异常?

这个问题在这里已经有了答案:Catchmultipleexceptionsatonce?(29个答案)关闭9年前。ThisquestionisclosetowhatIwanttodo,但不完全是。有没有办法简化下面的代码?privateboolValidDirectory(stringdirectory){if(!Directory.Exists(directory)){if(MessageBox.Show(directory+"doesnotexist.Doyouwishtocreateit?",this.Text)==DialogResult.OK){try{Directory.C

c# - 在 C# 中,我如何安全地退出带有 try catch block 的锁?

这是一个在锁内发生异常的示例,带有try-catchblock。intzero=0;intj=10;lock(sharedResource.SyncRoot){try{j=j/zero;}catch(DivideByZeroExceptione){//exceptioncaughtbutlocknotreleased}}我如何安全地释放锁扣? 最佳答案 不会自动释放吗?来自MSDN的锁手段System.Threading.Monitor.Enter(x);try{...}finally{System.Threading.Monito

c# - 如何优化 C# 中数组的复制 block ?

我正在编写一个实时视频成像应用程序,需要加快此方法的速度。目前执行大约需要10毫秒,我希望将其缩短至2-3毫秒。我已经尝试了Array.Copy和Buffer.BlockCopy,它们都需要大约30毫秒,比手动复制长3倍。一种想法是以某种方式将4个字节复制为一个整数,然后将它们作为一个整数粘贴,从而将4行代码减少为一行代码。但是,我不确定该怎么做。另一个想法是以某种方式使用指针和不安全代码来做到这一点,但我也不确定该怎么做。非常感谢所有帮助。谢谢!编辑:数组大小为:inputBuffer[327680]、lookupTable[16384]、outputBuffer[1310720]p

C# XNA : Optimizing Collision Detection?

我正在开发一个简单的碰撞检测演示,其中仅包含一堆在窗口中弹跳的对象。(目标是查看游戏一次可以处理多少个对象而不会丢帧。)存在重力,所以物体要么移动要么与墙壁碰撞。天真的解决方案是O(n^2):foreachCollidablec1:foreachCollidablec2:checkCollision(c1,c2);这很糟糕。因此,我设置了CollisionCell对象,它维护有关屏幕一部分的信息。这个想法是每个Collidable只需要检查其单元格中的其他对象。对于60像素x60像素的单元格,这产生了近10倍的改进,但我想进一步插入它。分析器显示,代码将50%的时间花在每个单元格用来获

c# - 迭代器 block 和继承

给定一个具有以下接口(interface)的基类:publicclassBase{publicvirtualIEnumerableGetListOfStuff(){yieldreturn"First";yieldreturn"Second";yieldreturn"Third";}}我想创建一个重写方法的派生类,并添加自己的东西,如下所示:publicclassDerived:Base{publicoverrideIEnumerableGetListOfStuff(){foreach(stringsinbase.GetListOfStuff()){yieldreturns;}yield

c# - 跳过数据流转换 block 中的项目

TPLDataflow提供用于转换输入的TransformBlock,例如:vartb=newTransformBlock(i=>i*2);是否可以不输出某些输入,例如如果输入未通过某些验证测试?vartb=newTransformBlock(i=>{if(!ValidateInput(i)){//Dosomethingtonotoutputanythingforthisinput}//Normaloutput}如果这不可能,实现该目标的最佳模式是什么?像下面这样的东西?BufferBlockoutput=newBufferBlock();varab=newActionBlock(i=

c# - 在 try catch block 中抛出异常

try{if(isFileDownloaded)//dostuffelsethrownewCustomException()}catch(Exceptione){//somethingwentwrongtosavetheerrortolog}finally{//releaseresources}我的问题是catch会捕获tryblock中抛出的ApplicationException吗?是编码风格不好吗?是不是应该换一种写法? 最佳答案 catch将捕获您的异常(以及任何其他发生的异常)。话虽如此,我尽量避免编写这样的代码。就我个人

c# - 如何从人脸检测方 block 中获取一个 "mugshot"?

我正在构建一个应用程序,它将拍摄一个人的全身图像,并为该人制作一张“面部照片”。面部照片是指该人的整个面部、颈部、头发和耳朵的图像,与另一张面部照片的一般大小相同。目前我正在使用http://askernest.com/archive/2008/05/03/face-detection-in-c.aspx实现OpenCV,我正在使用harrcascade_frontalface_default.xmlharrcascade_frontalface_alt.xmlharrcascade_frontalface_alt2.xmlharrcascade_frontalface_alt_tre

javascript - 在单个脚本 block 或多个脚本 block 中编写 javascript 有什么区别

在单个脚本block和单独的block中编写javascript有什么区别吗?在单个block中编写脚本functionfuncA(){//dosomething}functionfuncB(){//dosomething}在不同的block中编写脚本block1:functionfuncA(){//dosomething}block2:functionfuncB(){//dosomething} 最佳答案 在较早的脚本block中声明的函数只能在页面加载后调用较晚的脚本block中的函数。此外,如果第一个脚本block在执行时发生