草庐IT

相同点

全部标签

c# - 如何在执行相同功能时避免 C# 中的短路评估

我们在C#中是否有任何运算符可以避免短路评估并遍历所有条件。说if(txtName.Text.xyz()||txtLastName.Text.xyz()){}publicstaticboolxyz(thisTextBoxtxt){//dosomework.returnfalse;}它应该评估所有条件,而不考虑获得的输出。并在评估最后一个条件后,根据获得的结果继续。? 最佳答案 只需使用一个条,这将评估两个参数,而不管第一个结果的结果如何。if(txtName.Text.xyz()|txtLastName.Text.xyz()){}您

c# - 当我们有多个名称相同但属性不同的元素时,如何使用 Xdocument 从 xml 中删除元素

我有一个如下所示的xml文档:所有元素具有相同的元素名称但不同的属性。如何使用C#中的XDocument从此xml中删除一个特定元素及其属性?xd.Element("Applications").Element("myApp").Element(xe.Name).RemoveAll();上述命令无效,因为所有元素都具有相同的名称。除了名称之外,还有什么方法可以识别元素吗?如果是这样,我如何使用它从XDocument中删除它? 最佳答案 stringkey="version";XDocumentxdoc=XDocument.Load(

c# - 子类可以实现与其父类相同的接口(interface)吗?

我今天之前从未遇到过这个问题,想知道实现这种行为的约定/最佳实践是什么。基本设置是这样的:publicinterfaceIDispatch{voidDispatch();}publicclassFoo:IDispatch{voidIDispatch.Dispatch(){DoSomething();}}publicclassBar:Foo{...}Bar需要子类化Foo,因为它与Bar共享所有相同的属性,并且引入了2个我需要遇到的新属性。我遇到的问题是Foo还需要一个稍微不同的Dispatch()实现。通常它会被重写,但这对接口(interface)方法无效,所以让Bar也实现IDis

C# 开关/案例共享相同的范围?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Variabledeclarationinc#switchstatement我一直想知道:当我写的时候:switch(temp){case"1":inttmpInt=1;break;}case"1":区域有一段代码被执行(直到中断)现在,来自上方的瀑布不能进入caseof2,例如:switch(temp){case"1":inttmpInt=1;case"2":break;}//错误:缺少中断返回。所以我假设,他们有不同的处决区域(case....break)。那么为什么会出现这个错误呢?//下面定义了冲突变

c# - 如何在不更改相同列表的情况下反转通用列表?

我有一个通用列表,它在一个被调用4次的方法中使用。此方法使用此通用列表的值在PDF中写入表格。我的问题是我需要在方法中反转这个通用列表,但我调用了该方法4次,所以每次我调用该方法时列表都会被反转,我不希望这样......什么我可不可以做?有没有办法在不改变原始列表的情况下反转列表?这是在方法内部:t.List.Reverse();foreach(stringt1int.List){//Somecode} 最佳答案 “简单”的选择是仅以相反的顺序迭代列表而不实际更改列表本身,而不是第一次尝试将其反转并且知道其他时间什么都不做:fore

c# - 在 x 数量相同的数字后拆分字符串

我需要在C#中拆分一个字符串,如下所示:字符串是这样的:0000120400567开头总是0。在上面的示例中,有六个零后跟120400567。我想拆分我得到的最后一部分120400567的字符串。开头零的数量可能会改变(最后一个零件号将增加一个数字)这意味着我们可以有001245878945而我想要的是1245878945。我怎样才能拆分这个字符串,去掉第一个0或第一个x数量的零,只得到结束数字?可能是因为数字的开头没有任何零,数字直接从第一个数字开始......但也可能是数字包含8个零和2个或更多的数字。 最佳答案 stringw

c# - 如何检查每个列表成员的属性值是否相同

假设我有一个拥有一个属性的Student类,intAge.现在如果我有Liststudents,如何检查列表中所有学生的年龄是否相等? 最佳答案 您可以使用All查看方法,想必你的列表中有学生:varfirstStudent=students.First();students.All(s=>s.Age==firstStudent.Age); 关于c#-如何检查每个列表成员的属性值是否相同,我们在StackOverflow上找到一个类似的问题: https://

c# - 使用当前日期和时间创建 NLog 文件而不缓存它,保持存档文件名相同

我正在使用NLog进行一些日志记录,但我遇到了归档和文件名问题。我正在代码中创建日志记录配置(我正在编写一个包装器来公开一些特定的功能),并且我已经使用这些选项创建了FileTarget对象:this._fileTarget.FileName="${date:format=yyyy-MM-ddhh.mm.ss}.log";this._fileTarget.ArchiveAboveSize=Math.Pow(1024,2)*5;//5MBthis._fileTarget.ArchiveNumbering=ArchiveNumberingMode.Date;this._fileTarget

c# - 在 .NET 4 中,BeginInvoke 和 Task 是否使用相同的线程池?

.NET4引入了全新的线程池设计,可由任务并行库访问。但是,如果我有使用Delegate.BeginInvoke的旧代码,这些代码会由那个新线程池执行吗?或者旧的线程池是否仍在运行时的某个地方? 最佳答案 它们都使用相同的线程池。ThreadPool.QueueUserWorkItem也是如此。但是,与Task.Factory.StartNew相比,Delegate.BeginInvoke有额外的开销,并且没有利用ThreadPool中的许多功能,例如工作窃取或新的调试功能.如果时间允许,我建议重构它以使用新的任务功能。

c# - 为什么 catch block 中的 "throw"和 "throw ex"表现相同?

我读到在catchblock中时,我可以使用“throw;”重新抛出当前异常。或“抛出前;”。发件人:http://msdn.microsoft.com/en-us/library/ms182363%28VS.80%29.aspx“要保留异常的原始堆栈跟踪信息,请在不指定异常的情况下使用throw语句。”但是当我尝试这个时try{try{try{thrownewException("test");//13}catch(Exceptionex1){Console.WriteLine(ex1.ToString());throw;//16}}catch(Exceptionex2){Conso