草庐IT

Determine_if_a_string_is_numeric

全部标签

c# - 构造函数或属性 : which one is the better choice while assigning values

在赋值时我们应该在属性上使用构造函数,反之亦然。 最佳答案 构造函数是一种非常方便且功能强大的契约类型-一种要求消费者在甚至可以使用您的对象之前提供某些信息的方法。因此,对于实例正常运行所必需的信息,请使用构造函数参数。这是依赖注入(inject)的基本概念-任何你依赖于完成你的工作的东西,都必须在你开始之前注入(inject)(提供)给你。属性可以代表一个有趣的问题。总的来说,经验告诉我,只要有可能,属性应该是只读的,对象通常应该尽可能在外部不可变。将公共(public)setter添加到属性会使您的类的复杂性成倍增加。当然总是有

c# - "Manifest XML signature is not valid"

操作系统:Windows764位,使用安装了.NET4.5的VisualStudioPro2012。我在VisualStudios中使用了Publish选项,并确保我已单击SigntheclickOncemanifest和SigntheAssembly。它仍然不会在另一台计算机上运行,​​并说我没有有效的XML签名。我已粘贴下面的错误消息。我也读过:HowtomoveaClickOncedeploymentpackage,DoIhavetosignmyClickOncemanifest?.VS2012.NET4.0ClickonceVSTOCryptographicException:

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

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

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# string.replace 去除非法字符

这个问题在这里已经有了答案:Howtoremoveillegalcharactersfrompathandfilenames?(30个答案)关闭9年前。我正在开发一个读取文件并根据专栏标题保存文件片段的程序。其中一些标题的文件名包含非法字符,因此我编写了这段代码来处理这些问题。stringheaderfile=saveDir+"\\"+tVS.Nodes[r].Text.Replace("\"","").Replace("/","").Replace(":","-").Replace(">","(GreaterThan)")+".csv";如果我没有4.Replace(),有没有更好的

c# - 使用 LINQ 检查 List<string> 是否包含另一个 List<string> 中的元素

如何使用C#中的LINQ检查一个列表是否包含另一个列表中存在的元素?我不想使用for/while循环。所以,如果List1有A、B、C而List2有B、1、2,那么我会返回true。 最佳答案 试试这个:Lista=...Listb=...varinComon=a.Intersect(b).Any(); 关于c#-使用LINQ检查List是否包含另一个List中的元素,我们在StackOverflow上找到一个类似的问题: https://stackoverf

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结构。您也可

c# - 太多 if (obj is thisObj) 语句

我目前有一种方法试图找出它收到的对象是什么。它知道在某个接口(interface)上,例如IService,但我有代码查看它并试图告诉我它是Service1还是Service2。我目前有很多if(objisthisObj)样式语句,什么是使这段代码漂亮的最佳解决方案?这是我所拥有的示例:publicvoidDoSomething(IServiceservice){if(serviceisService1){//DOsomething}if(serviceisService2){//DOsomethingelse}}现在有两个并不是什么坏事,但我正在考虑可能有20多个这样的东西,使用起来

c# string.replace 在 foreach 循环中

不知何故,我似乎无法在C#的foreach循环中进行字符串替换。我的代码如下:foreach(stringsinnames){s.Replace("pdf","txt");}我对LINQ还是很陌生,所以如果这听起来很业余,请原谅我;) 最佳答案 您说您正在寻找LINQ解决方案...这很简单:varreplacedNames=names.Select(x=>x.Replace("pdf","txt"));我们不知道names的类型,但如果您想重新分配给它,您可以使用ToArray或ToList://IfnamesisaListname