草庐IT

if判断

全部标签

c# - 在 SelectSingleNode : Retrieving individual element from XML if it's present 中使用 XPath

我的XML看起来像:onetwothree.....maybemoreItemshere.一些单独的Item可能存在也可能不存在。假设我想检索元素两个如果它存在。我尝试了以下XPath(在C#中)。XMLNodenode=myXMLdoc.SelectSingleNode("/itemSet[Item='two']")---如果Itemtwo存在,则它只返回第一个元素one。也许这个查询只是指向itemSet中的第一个元素,如果它在某个地方有一个值为2的Item作为子元素。这种解释正确吗?所以我尝试了:XMLNodenode=myXMLdoc.SelectSingleNode("/it

c# - 在 C# 中是否有简写 If-Then-Else 的版本(cond?VB.Net 中的 : b),?

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:IsthereaconditionalternaryoperatorinVB.NET?在C#中是否有简写If-Then-Else的版本:c=(a>b)?a:b;意思是……if(a>b){c=a;}else{c=b;}..在VB.Net中?

c# - Asp.Net(C#) 内联编码 Eval if 语句

大家好;如果控件如何进行内联求值? 最佳答案 使用三级表达式“?”: 关于c#-Asp.Net(C#)内联编码Evalif语句,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2606833/

c# - C#中如何判断类型是否为字符串?

我想遍历一个类型的所有属性,并想检查一个属性类型是否不是字符串,我该怎么做?我的类(class)是:publicclassMarkerInfo{publicstringName{get;set;}publicbyte[]Color{get;set;}publicTypeIdType{get;set;}publicboolIsGUIVisible{get;set;}publicMarkerInfo(){Color=newbyte[4];//A,R,G,BIsGUIVisible=true;}}我用来检查类型的代码是:foreach(varpropertyintypeof(MarkerIn

c# - 重构 if-else if - else

我有以下代码示例if(object.Time>0&&=500&&=1000){rate=1.00m}else{rate=0m;}我的问题是我可以使用什么设计模式来让它变得更好?编辑:为了澄清一点,您在此处看到的代码是当前存在于策略模式实现中的代码。我们有3种计算类型,其中2种具有3种不同的“比率”,可以根据您在下面看到的时间使用这些计算。我考虑过为每个比率创建一个策略实现,但随后我会移动确定要使用的策略的逻辑,并使它变得一团糟。谢谢! 最佳答案 如果您真的在寻找一种设计模式,我会选择责任链模式。基本上您的“链接”会尝试处理输入。如果

c# - 如果 if 结构的第一部分为假,会发生什么?

我想知道当程序处理具有多个条件的if结构时会发生什么。我有一个想法,但我不确定。我举个例子:ListmyTestList=null;if(myTestList!=null&&myTestList.Count>0){//process}列表为空。在处理if语句时,是否会从左到右,一条件不成立就退出if?我已经试过了,似乎没有抛出任何错误,所以我假设上面的解释是对的,但我不确定。 最佳答案 重要的是&&。这是短路,所以永远不会计算Count;从左到右评估条件。还有一个非短路运算符(&),但在if测试中非常很少见;它主要用于按位运算(在i

c# - 如何判断文件是否已被修改?

我正在编写(某种)备份解决方案。它只是从位置C:\复制文件并将其粘贴到位置Z:\为保证速度快,复制粘贴前先检查原文件是否存在。如果是这样,它会执行一些“计算”来确定复制是否应该继续或备份文件是否是最新的。我发现这些计算很困难。最初,我比较了文件大小,但这还不够好,因为很有可能更改文件并将其大小相同(例如,在记事本中保存字符C与我保存的大小相同字符T)。所以,我需要查明修改日期是否不同。目前,我使用FileInfo类获取文件信息,但在查看所有字段后,没有任何内容看起来合适。如何检查以确保复制的文件已被修改?编辑我已经看到关于使用MD5校验和的建议,但我担心这可能是个问题,因为我比较的一些

c# - 'if' 语句条件中的 Lambda 表达式

我是C#的新手,但根据我的理解,这段代码应该可以工作。为什么它不起作用?这是我的代码示例。Listcars//Thishasmanycarsinitializedinitalreadyif(()=>{foreach(Carcarincars){if(car.door==null)returntrue;}}){then.......}简单地说,我想让代码做的就是在任何汽车没有门的情况下运行if语句。尝试编译后出现此错误:Cannotconvertlambdaexpressiontotype'bool'becauseitisnotadelegatetype. 最

c# - 在 if() 中调用方法 - C#

我有几个方法会根据它们的成功返回bool值,在IF()内部调用这些方法有什么问题吗?//&&makessurethatMethod2()willonlygetcalledifMethod1()returnedtrue,use&tocallbothmethodsif(Method1()&&Method2()){//dostuffifbothmethodsreturnedTRUE}如果Method1()返回FALSE,Method2()不需要触发。如果上面的代码有任何问题,请告诉我。谢谢。编辑:由于代码没有任何问题,我会接受最有信息的答案...添加评论以解决“新手&&&”问题

C# if 语句速记运算符 (?:) results in unreachable code

为什么我在使用VisualStudio2010的C#中收到此警告?"Unreachableexpressioncodedetected"来自以下代码(DateTime.Now以绿色波浪线下划线):publicDateTimeStartDate{get{DateTimedt=(DateTime)ViewState["StartDate"];return((dt==null)?DateTime.Now:dt);}} 最佳答案 因为DateTime结构永远不能为null。如果您期望可能的空值,则必须使用可为空的DateTime结构。您也可