草庐IT

重复排列

全部标签

c# - 哪个 C# 模式具有更好的性能来避免重复的事件处理程序?

基本上有两种模式可以避免重复注册事件处理程序:(根据这个讨论:C#patterntopreventaneventhandlerhookedtwice)使用System.Linq命名空间,并通过调用GetInvocationList().Contains(MyEventHandlerMethod);检查事件处理程序是否已注册注册前先注销,如下:MyEvent-=MyEventHandlerMethod;MyEvent+=MyEventHandlerMethod;我的问题是,就性能而言,哪个更好,或者它们之间在性能上有显着差异吗? 最佳答案

c# - 如何使用 LINQ 在列表中生成重复项?

这是我用过的LINQ查询varresult=(frompriceininventoryDb.Pricing.AsNoTracking()whereprice.Quantity>0mselectnew{TagNo=price.TagNo,SellingRate=price.SellingRate,Quantity=price.Quantity}).ToList();根据Quantity值,我需要在列表中生成重复项。输出:result=[0]{TagNo="100",SellingRate=1500.00,Quantity=1}[1]{TagNo="101",SellingRate=160

c# - 如何删除 MatchCollection 中的重复匹配项

在我的MatchCollection中,我得到了相同事物的匹配项。像这样:stringtext=@"matchmatchmatch";RegexR=newRegex("match");MatchCollectionM=R.Matches(text);如何删除重复的匹配项,这是最快的方法吗?这里假设“重复”意味着匹配包含完全相同的字符串。 最佳答案 林克如果您使用的是.Net3.5或更高版本(例如4.7),可以使用linq删除匹配项的重复项。stringdata="abcmatchmatchabc";Console.WriteLine

c# - 如何制作所有文化的下拉列表(但不重复)

我正在尝试制作2个下拉列表。顶部的提供了所有文化,(但没有重复)。示例:英语、西类牙语、菲律宾语从顶部列表中选择后,底部列表将显示任何特定类型。我现在将此代码用于我的首选列表。foreach(CultureInfocultureInfoinCultureInfo.GetCultures(CultureTypes.NeutralCultures))但是它不显示菲律宾语(菲律宾)我宁愿不使用GetCultures(CultureTypes.AllCultures)),因为它一次显示太多。看来我可能需要将NeutralCultures加载到IList中。然后遍历AllCultures以确保它

c# - 如何避免重复的 try catch block

我有几个看起来像这样的方法:publicvoidfoo(){try{doSomething();}catch(Exceptione){Log.Error(e);}}我可以把代码改成这样吗?[LogException()]publicvoidfoo(){doSomething();}如何实现这个自定义属性?这样做的利弊是什么?-----编辑1------------我可以自己实现吗,我的意思是只写一个类,还是我需要使用postsharp或其他解决方案? 最佳答案 您可以使用委托(delegate)和lambda:privatevoid

c# - 具有重复值的枚举的 GetName

如果我在C#枚举中有重复值,说enumMyE{value1=1,value2=2,valued=1}以下字符串的值应该是什么?MyEN=(MyE)1;stringV1=N.ToString();stringV2=GetName(MyE,1);V1和V2必须包含相同的值是真的吗?这些值应该是什么?我没有在MSDN或这里找到任何关于重复枚举的“解引用”,如果我错过了,请给我指向一个链接。 最佳答案 实验表明:V1="value1"和V2="value1"但是,这并不能保证。MSDNpageonEnum.GetName状态:Ifmulti

c# - 升级到 ASP.NET Core 2.0 后 Web API 控制台中的重复信息消息

我将WebAPI项目从ASP.NETCore1.x升级到ASP.NETCore2.0,代码更改非常少。运行WebAPI时,命令提示符会正常打开。但是,每条信息消息都是重复的。这是ASP.NETCore错误还是升级后我这边的问题?更新:我在Startup.csConfigure方法中执行了以下操作:loggerFactory.AddConsole(Configuration.GetSection("Logging"));loggerFactory.AddDebug();当我删除它时,没有重复项。这已经不需要了吗? 最佳答案 WebHo

c# - 如何去除字符串中重复的字符

我有一个允许用户对照片发表评论的网站。当然,用户会留下如下评论:'OMGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG!!!!!!!!!!!!!!!'或'YOUSUCCCCCCCCCCCCCCCCCKKKKKKKKKKKKKKKKKK'你明白了。基本上,我想通过删除至少大部分多余的重复字符来缩短这些评论。我敢肯定有一种方法可以用Regex来做到这一点……我就是想不通。有什么想法吗? 最佳答案

c# - 防止重复的 List<T> 条目

我希望我能够解决这个问题,但我终其一生都无法理解为什么这段代码无法正常运行并允许将重复的条目添加到列表中。永远不会满足if语句条件,即使我从同一位置拖入相同的文件也是如此。我不明白为什么“包含”方法不匹配它们。publicclassForm1:Form{privateListdragDropFiles=newList();privatevoidForm1_DragDrop(objectsender,DragEventArgse){try{if(e.Data.GetDataPresent(DataFormats.FileDrop)){string[]files=(string[])e.D

c# - 合并 IEnumerable 中的重复元素

我目前有一个IEnumerable其中MyObject具有属性StringName和longValue.如果我在Enumerable中有10个MyObject的实例,每个都有不同的名称和值,除了一个与另一个具有相同的名称。.NET(或LINQ)是否有一个内置方法可以让我找到重复项,如果可能,合并Value属性,以便在可枚举中最终只有9个元素,每个元素都有一个不同的Name有重复的那个有Value等于其自身和副本的总和。到目前为止,我发现迭代整个IEnumerable的唯一方法并查找重复项并生成一个新的IEnumerable独特的项目,但这似乎不整洁和缓慢。