草庐IT

or-equals

全部标签

c# - 什么更快 : expression trees or manually emitting IL

创建直接发出IL的方法与构建表达式树之间是否存在性能差异? 最佳答案 优秀而复杂的问题。最近之前,Expression根本无法处理所有情况-因此在许多情况下这是毫无疑问的。这随着Expression.Block等的引入而改变。在大多数“常见”情况下,Expression的使用可能绰绰有余,但我承认我没有精确的测量,仅仅是因为虽然我做了很多IL,但我还针对没有像Expression(当然不是Expression.Block)这样的奢侈品的下层框架。我也倾向于使用复杂的“装饰器”方法,这些方法可以很好地在IL中堆叠体操,但不一定进入Ex

c# - 我得到 "missing a using directive or assembly reference"并且不知道出了什么问题

我正在尝试允许用户将数据输入到将添加到web.config文件的文本框中。我已将相关行添加到web.config文件中,但是当我创建此类时,一切都出错了。每当我尝试运行我的应用程序时,我总是收到“您是否缺少using指令或程序集引用错误”。我看过其他时候有人问过这个问题,但似乎无法弄清楚我哪里出错了。问题是我对VisualStudio非常陌生,对可能的答案一无所知。下面是产生错误的类文件。我希望我已经包括了你需要帮助我的一切。谢谢。usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Configuration;nam

c# - "StandardOut has not been redirected or the process hasn' t started yet”在 C# 中读取控制台命令输出时

感谢@user2526830提供的代码。基于该代码,我在程序中添加了几行,因为我想读取SSH命令的输出。下面是我的代码,它在while行出错StandardOuthasnotbeenredirectedortheprocesshasn'tstartedyet.我想要实现的是,我想将ls的输出读入一个字符串。ProcessStartInfostartinfo=newProcessStartInfo();startinfo.FileName=@"f:\plink.exe";startinfo.Arguments="-sshabc@x.x.x.x-pwabc123";Processproce

c# - 将字符串数组连接到 "string1, string2 or string3"

考虑以下代码:string[]s=new[]{"Rob","Jane","Freddy"};stringjoined=string.Join(",",s);//joinedequals"Rob,Jane,Freddy"出于UI原因,我可能希望显示字符串"Rob,JaneorFreddy"。关于最简洁的方法有什么建议吗?编辑我正在寻找简洁易打的东西。由于我只连接少量( 最佳答案 输入的简明意思?还是跑?运行速度最快的将使用StringBuilder进行手摇。但要输入,可能(编辑处理0/1等):stringjoined;switch(s

c# - 什么是 Type.GUID,它与 Type.Equals() 有什么关系?

我在尝试将System.RuntimeType的实例与泛型类型TOut进行比较时遇到了一些有趣的行为:TyperuntimeT=methodInfo.ReturnType;//getRuntimeTypeusingreflectionTypegenericT=typeof(TOut);//ThisconditionfailsbecauseruntimeTdoesn't//seemtoincludeanassemblyqualifiednameif(runtimeT.Equals(genericT)){...}这是我的证据:免责声明:我不知道GUID在CLR/类型系统的上下文中到底是什么

c# - 有没有办法在 Visual Studio 中自动生成 equals 和 hashcode 方法

在Java中,当你想通过remove()方法从通用Collection中正确删除对象时,你必须实现equals(Objecto)和remove()方法,可以在Eclipse中自动生成。该方法的示例如下所示--->。如何在C#中自动生成该方法(VisualStudio,我使用的是VS2013)?也许没有必要使List.Remove()方法正常工作?如果不能自动引用Equals方法应该是什么样子?我的意思是它应该是什么样子。Equals()方法甚至用在List.Remove()中吗?如果是这样,你能告诉我Equals()如果我们比较相同的对象(内存中的相同地址),应该实现返回true@Ov

c# - 枚举器实现 : Use struct or class?

我注意到List将其枚举器定义为struct,而ArrayList将其枚举器定义为class.有什么不同?如果我要为我的类(class)写一个枚举器,哪个更好?编辑:使用yield无法满足我的要求,所以我正在实现自己的枚举器。也就是说,我想知道遵循List的路线是否会更好。并将其作为结构实现。 最佳答案 像其他人一样,我会选择一个类(class)。可变结构是讨厌的。(正如Jared所建议的那样,我会使用迭代器block。手动编写枚举器代码很费力才能正确。)参见thisthread例如,列表枚举器是一个导致问题的可变结构......

c# - 字符串比较 - strA.ToLower()==strB.ToLower() 或 strA.Equals(strB,StringComparisonType)?

根据标题,您使用什么字符串比较实践,为什么? 最佳答案 您没有指定平台,但我猜是.NET。我强烈建议您使用后一种形式——因为案例比较并不像您预期​​的那么简单。(它也避免了创建额外的字符串,但这是另一回事。)例如,当代码在土耳其运行时出现“mail”和“MAIL”时,您希望您的代码执行什么操作?如果您使用ToLower它将返回false,同样如果您使用CurrentCultureIgnoreCase-但如果您使用InvariantCultureIgnoreCase它将返回true。您需要考虑数据的来源以及您尝试使用它实现的目标。参见

c# - Linq 查询 'and' 'or' 运算符

我已经用“or”条件和“and”编写了一个LINQ查询,但效果不佳。fromxindb.fotoes.Where(x=>x.uid==NewsId&&x.ukat=='fukat1'||x.ukat=='fukat2')我不明白为什么它不起作用,有人可以帮我解决这个问题吗? 最佳答案 就这样试试吧,你需要用括号来对你的条件进行分组:fromxindb.fotoes.Where(x=>x.uid==NewsId&&(x.ukat=='fukat1'||x.ukat=='fukat2'))

c# - 错误 : Could not load file or assembly 'Microsoft. Practices.ServiceLocation,版本 = 1.0.0.0

我收到这个错误:Couldnotloadfileorassembly'Microsoft.Practices.ServiceLocation,Version=1.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35'oroneofitsdependencies.Thelocatedassembly'smanifestdefinitiondoesnotmatchtheassemblyreference.(ExceptionfromHRESULT:0x80131040)如果我的项目中已有另一个现有版本的Microsoft.Practic