草庐IT

if-condition

全部标签

c# - IDisposable 实现 - 'if (disposing)' 中应该包含什么

我一直在修复winforms应用程序中的一些内存泄漏问题,并注意到一些未明确处理的一次性对象(开发人员尚未调用Dispose方法)。Finalize方法的实现也无济于事,因为它没有进入if(disposing)子句。所有的静态事件注销和集合清除都放在了if(disposing)子句中。如果对象是一次性的,最好的做法是调用Dispose,但不幸的是,这种情况有时会发生如果有非托管对象、静态事件处理程序和一些托管集合需要在处置时清除。if(disposing)子句如何决定什么进什么出。Disposemethod.//Dispose(booldisposing)executesintwodi

c# - 将 'Set Next Statement' 强制为 'if' block 时出现 CLR System.NullReferenceException

背景我承认这不是正常代码执行期间可能发生的事情,但我在调试时发现了它,并认为它很有趣,可以分享。我认为这是由JIT编译器引起的,但欢迎任何进一步的想法。我已经使用VS2013复制了这个针对4.5和4.5.1框架的问题:设置要查看此异常,必须启用CommonLanguageRuntimeExceptions:DEBUG>异常...我已将问题的原因提炼为以下示例:usingSystem.Collections.Generic;usingSystem.Linq;namespaceConsoleApplication6{publicclassProgram{staticvoidMain(){v

c# - "if (object is (string, Color))"c# 7.0 元组用法不起作用

我使用的是VisualStudio2017RC,我已经安装了System.ValueTuple包,它启用了新的c#7.0元组用法,但我无法让它在这种特定情况下工作:如您所见,第一种方法没有任何红色波浪线,而且很管用。但是尝试执行ois(string,Color)失败并出现不相关的错误:新的元组不能这样用吗?或者它只是包裹的当前状态?我已经将它更新到最新版本btw,此时是4.3.0。我读过thisMSDNpost但没有发现任何这样的用法。 最佳答案 Roslyncontainsteststhatensureusingtuplesinp

c# - 在嵌套 If 中应用两个条件或将单个条件与 And 结合使用哪个更好?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion嵌套If或单个ifwithAnd运算符,哪种方法更好?单个If和if(txtPackage.Text!=string.Empty&&txtPackage.Text=="abc"){//}嵌套if(txtPackage.Text!=string.Empty){if(txtPackage.Text=="abc"){//}}

c# - 避免 If Else 条件

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭8年前。Improvethisquestion我想重构以下代码以避免if...else,这样我就不必在每次有新的调查类型进来时都更改方法(开放/封闭原则)。以下是我正在考虑重构的一段代码:if(surveyType==SurveySubType.Anonymous){DoSomething(param1,param2,param3);}elseif(surveyType==SurveySubType.Invitational){DoSo

c# - 我应该使用哪个,CodeContract 还是 CuttingEdge.Conditions?

我研究了使用条件框架来验证数据而不是if(cond)thrownewSomeException();SomeFramework.MakeSure(cond);最后我的选择是使用CodeContract或CuttingEdge.Conditions框架。我无法决定使用哪个框架。我可以告诉你,我不喜欢“CodeContract”框架的地方是你必须安装额外的msi才能使用它以及你需要选择的选项;不是说它不好,而是感觉不自然。(当然,它仍在MS研究中。)你怎么看? 最佳答案 CodeContracts框架是.NET4的一部分。因此您可以针对

c# - 简化 if(x == 1 || x == 2)

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:C#ifstatementsmatchingmultiplevalues我经常发现自己编写的代码中变量可以是A或B,例如当我在转发器上调用OnItemDataBound时:protectedvoidrepeater_OnItemDataBound(objectsender,RepeaterItemEventArgse){if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem){}}然后我经常想,一

c# - 当我在 if 子句中放置一个关闭的 div 标签时,Razor 会提示

我正在尝试使用Razor模板来执行此操作:@if(isNew){}...@if(isNew){}错误是:cannotresolvethesymbol'div'Razor不喜欢IF子句中的结束div标记,我怎样才能让它工作?我必须使用转义吗? 最佳答案 Razor不喜欢像这样拆分开始/结束标记,因为它无法正确解析HTML,因此您必须将它们转义为纯文本:@if(isNew){@:}...@if(isNew){@:}更传统的方法是在div中重复标记(使用部分或其他方式)——哪种方法更可取,我想说,取决于条件div之间标记的性质:@if(i

c# - 在 LINQ 查询 'if' 语句中实现条件 'where' 语句

我正在尝试找出一种在我的数据模型中查询对象的方法,并且只包含那些不为空的参数。如下所示:publicListGetWidgets(stringcond1,stringcond2,stringcond3){MyDataContextdb=newMyDataContext();Listwidgets=(fromwindb.Widgetswhere...ifcond1!=nullw.condition1==cond1......ifcond2!=nullw.condition2==cond2......ifcond3!=nullw.condition3==cond3...selectw).T

c# - 替代if,else if

我有很多if,elseif语句,我知道必须有更好的方法来做到这一点,但即使在搜索stackoverflow之后,我也不确定在我的特定情况下该怎么做。我正在解析文本文件(账单)并根据某些字符串是否出现在账单上将服务提供商的名称分配给变量(txtv​​ar.Provider)。这是我正在做的事情的一小部分(别笑,我知道这很乱)。总而言之,大约有300个if,elseif。if(txtvar.BillText.IndexOf("SWGAS.COM")>-1){txtvar.Provider="SouthwestGas";}elseif(txtvar.BillText.IndexOf("geo