Tag: 比较

.Net中的字符串比较:“+”vs“ – ”

根据当前的文化,我总是假设.Net按字典顺序比较字符串。 但是当其中一个字符串以’ – ‘结尾时,有些奇怪: “+”.CompareTo(“-“) Returns: 1 “+1”.CompareTo(“-1”) Returns: -1 我得到了我尝试的所有文化,包括不变的文化。 任何人都可以解释发生了什么,我怎样才能获得当前语言环境的一致字符排序?

比较C#中的两个文件

我想比较C#中的两个文件,看看它们是否不同。 它们具有相同的文件名,并且在不同时它们的大小完全相同。 我只是想知道是否有一种快速的方法来做到这一点,而无需手动进入并读取文件。 谢谢

C#generics与C ++模板比较

可能重复: C#和Java中的generics与C ++中的模板有什么区别? C#generics与C ++模板之间有什么区别? 我知道他们没有解决完全相同的问题,那么两者的优点和缺点是什么?

在字典中查找重复值并打印重复元素的键

什么是检查字典中的重复值并打印其密钥的最快方法? 具有以下值的字典MyDict , 关键价值 22 100 24 200 25 100 26 300 29 200 39 400 41 500 示例:键22和25具有相同的值,我需要打印22和25具有重复值。

逐行比较两个文本文件

在这里我描述了一个示例场景: “FileA-Database.txt”包含以下名称: KB200 KB300 KB400 “FileB-Slave.txt”包含以下名称: KB600 KB200 KB400 KB700 我想将“FileA-Database.txt”与“FileB-Slave.txt”进行比较,并在“FileA-Database.txt”文件中自动填写缺失值,同时我需要在文本中显示缺失值文件名为“Results.txt”。 代码需要与C#(框架4.0+)兼容! 我需要一个简单的方法,我的工作方式与我想要的完全不同: private void button_compare_Click(object sender, EventArgs e) { string fileA, fileB, fileC; fileA = “database-critical.txt”; fileB = “patchlist.txt”; fileC = “result.txt”; string alphaFilePath = fileA; List alphaFileContent = new List(); using (FileStream fs = new FileStream(alphaFilePath, FileMode.Open)) using(StreamReader rdr = new StreamReader(fs)) { […]

linq表达式不区分大小写

我正在利用这个项目来使用jqgrid来过滤和排序集合 。 缺少一个function是这个例子不是我需要的不区分大小写的搜索。 因此,如果用户键入“Test”,我希望它与“TEST”,“TeST”等匹配。 。 我有这样的代码: case WhereOperation.Equal: condition = Expression.Equal(memberAccessToString, filter); lambda = Expression.Lambda(condition, parameter); break; case WhereOperation.NotEqual: condition = Expression.NotEqual(memberAccessToString, filter); lambda = Expression.Lambda(condition, parameter); break; case WhereOperation.Contains: condition = Expression.Call(memberAccessToString, typeof(string).GetMethod(“Contains”), Expression.Constant(value)); lambda = Expression.Lambda(condition, parameter); break; 无论如何,下面的这些检查是不区分大小写的,所以“测试”将等于“测试” Expression.NotEqual Expression.Equal Expression.Call(memberAccessToString, typeof(string).GetMethod(“Contains”),

使用InvariantCultureIgnoreCase而不是ToUpper进行不区分大小写的字符串比较

在这个页面上 ,一位评论者写道: 不要使用.ToUpper来确保比较字符串不区分大小写。 而不是这个: type.Name.ToUpper() == (controllerName.ToUpper() + “Controller”.ToUpper())) 做这个: type.Name.Equals(controllerName + “Controller”, StringComparison.InvariantCultureIgnoreCase) 为什么这种方式更受欢迎?

如何在C#中比较XML文件?

我知道有很多这样的问题,但我找不到满足我需求的答复。 我必须编写一个比较XML文件的应用程序:将有2种类型的比较,首先是2个文件,列出所有差异,第二个是多个XML文件,列出了平均值的所有变化。 我正在寻找某种类,库或API来帮助我完成这项任务。 你能提出一些解决方案吗? 然而,我不知道我是否应该使用DOM或Xpath。 有什么建议 ? 编辑: 好的,所以我一直在尝试使用XmlDiff工具完成这项任务,但是这对于多个Xml文件解决这个问题是非常有问题的 – 我不知道如何使用这个XmlDiffDiagram来梳理例如50个Xml文件之间的差异。 LINQ会更好吗?

如何在linq中使用方法

我有课程: class SomeClass { public string Name{get;set;} public int SomeInt{get;set;} } class SomeComparison: IEqualityComparer { public bool Equals(SomeClass s, SomeClass d) { return s.Name == d.Name; } public int GetHashCode(SomeClass a) { return (a.Name.GetHashCode() * 251); } } 我还有两个名为list1和list2大型List 在我以前有: var q = (from a in list1 from b in list2 where a.Name != b.Name […]

为什么String.Equals返回false?

我有以下C#代码(来自我正在使用的库)试图找到比较指纹的证书。 请注意,在以下代码中, mycert.Thumbprint和certificateThumbprint都是字符串。 var certificateThumbprint = AppSettings.CertificateThumbprint; var cert = myStore.Certificates.OfType().FirstOrDefault( mycert => mycert.Thumbprint != null && mycert.Thumbprint.Equals(certificateThumbprint) ); 这无法找到带有指纹的证书,因为即使字符串相等, mycert.Thumbprint.Equals(certificateThumbprint)也为false 。 mycert.Thumbprint == certificateThumbprint也返回false ,而mycert.Thumbprint.CompareTo(certificateThumbprint)返回0。 我可能会遗漏一些明显的东西,但我无法弄清楚为什么Equals方法失败了。 想法?