当前位置: 首页 > 编程语言 > C#

检查两个逗号分隔的字符串是否相等(对于内容集)分享

时间:2023-04-10 15:23:15 C#

检查两个逗号分隔的字符串是否相等(对于内容集)我有四个字符串,如下所示。尽管它们的字符顺序和逗号后的间距不同,但它们被认为具有相同的商业价值。如何检查所有字符串是否相同(根据上面解释的业务场景)?我有以下代码,但逗号后有空格失败。有什么比Enumerable.SequenceEqual更好的方法(为此目的)?注意:“A,B”将被视为与“B,A,B,A,B”相同注意:我使用的是VisualStudio2010和.NetFramework4代码字符串firstString="A,B,C";字符串secondString="C,A,B";stringthirdString="A,B,C";字符串fourthString="C,A,B";//设置1测试列表firstList=newList(firstString.Split(','));列表secondLsit=newList(secondString.Split(','));boolisStringsSame=Enumerable.SequenceEqual(firstList.OrderBy(t=>t),secondLsit.OrderBy(t=>t));Console.WriteLine(isStringsSame);//设置2测试列表thirdList=newList(thirdString.Split(','));ListfourthList=newList(fourthString.Split(','));boolisOtherStringsSame=Enumerable.SequenceEqual(thirdList.OrderBy(t=>t),fourthList.OrderBy(t=>t));Console.WriteLine(isOtherStringsSame);控制台.ReadLine();更新:使用OrdianlIgnoreCase忽略大小写OrdianlIgnoreCase如何在区分大小写模式下使用HashSet.Contains()方法?参考:Bestwaytocheckastringinacommaseparatedlistusing.NET?比较两个List对象是否相等,忽略顺序为什么是IEnumerable.Select()适用于2种情况中的一种?无法从使用什么是最短的代码来比较两个逗号分隔的字符串匹配项中推断出来?使用C#和linq将定界字符串拆分为层次结构使用LINQUsinq计算两个字符串之间的匹配字符Linq选择半逗号定界字符串中的项目?根据某些属性确定列表中的两个或多个对象是否相等您是否认为A、B等于B、A、B、A、B?如果是这样,你应该使用集合;如果不是,则有序序列是合适的。编辑:现在我们知道您实际上想要设置相等性:varset1=newHashSet(firstString.Split(',').Select(t=>t.Trim()));boolsetsEqual=set1.SetEquals(secondString.Split(',').Select(t=>t.Trim()));如果我们不是在设置相等之后...要忽略空格,您应该修剪它们。例如:以上是C#学习教程:检查两个逗号分隔的字符串是否相等(针对内容集)分享的所有内容,如果对大家有用需要进一步了解C#学习教程,希望大家更加注意—varfirstOrdered=firstString.Split(',').Select(t=>t.Trim()).OrderBy(t=>t);varsecondOrdered=secondString.Split(',').Select(t=>t.Trim()).OrderBy(t=>t);boolstringsAreEqual=firstOrdered.SequenceEqual(secondOrdered);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: