Tag: 字符串比较

ASCII比较和字符串比较之间的区别

我正在使用C#。 当我比较两个char值时,它给我发送正确的输出,比如, ‘-‘.CompareTo(‘!’) //Its sending me positive value 12 意思是‘ – ‘>’!’ 是真的 但是当我比较两个相同值的字符串时,它给我发送了不同的结果 “-“.CompareTo(“!”) //Its sending me negative value -1 意思是“ – ”>“!” 是假的 任何人都可以解释我为什么这样做? 这两种情况都不应该是“真的”吗?

String.Compare的不同重载之间的区别

具体来说有什么区别 String.Compare(String, String, StringComparison)和 String.Compare(String, String, CultureInfo, CompareOptions) 我觉得第二个提供了更多的选项 (比较使用任何文化而不是只有当前的一个或不变的,忽略特殊字符,忽略katakanas(!!)等的宽度…) 比第一个 。 两者都已经在.NET 2.0中引入了它,所以我想它不能成为向后兼容的问题。 那么有什么区别,什么时候应该使用第一个?什么时候应该使用第二个? 我看过这篇文章和这篇文章 ,但我认为他们处理的是一些略有不同的问题。

比较2个url的最佳方式

我想比较2个url。 什么是最好的方法呢? 条件:1)它应该排除http方案。 2)’foo.com/a/b’和’foo.com/a’应该匹配。

如何从SQL Server数据库中获取以给定字符串开头的条目?

我有一个数据库,在标签系统中使用了很多单词。 我已经为自动完成框创建了必要的代码,但我不确定如何以最有效的方式从数据库中获取匹配的条目。 我知道LIKE命令,但在我看来它更像是一个EQUAL命令。 我只得到与我输入的单词完全相同的单词。 我的计划是读取每一行,然后使用C#的string.StartsWith()和string.Contains()函数来查找可能适合的单词,但我认为对于大型数据库,读取每一行可能效率低下然后过滤它们。 有没有办法只读取以SQL Server开头或包含给定字符串的行?

‘正则表达’VS’字符串比较运算符/函数’

这个问题是围绕PHP中的性能设计的,但如果您愿意,可以将其扩展为任何语言。 经过多年使用PHP并且不得不比较字符串,我已经了解到在性能方面使用字符串比较运算符而不是正则表达式是有益的。 我完全理解一些操作必须使用正则表达式来完成复杂性,但对于可以通过正则表达式和字符串函数解决的操作。 举个例子: PHP preg_match(‘/^[az]*$/’,’thisisallalpha’); C# new Regex(“^[az]*$”).IsMatch(‘thisisallalpha’); 可以轻松完成 PHP ctype_alpha(‘thisisallalpha’); C# VFPToolkit.Strings.IsAlpha(‘thisisallalpha’); 还有很多其他的例子,但你应该明白我想要的。 你应该尝试和倾向于什么版本的字符串比较?为什么?

忽略大小写并在C#中进行比较

如何在执行比较之前将字符串转换为大写,或者是否可以通过忽略大小写来比较字符串 if (Convert.ToString(txt_SecAns.Text.Trim()).ToUpper() == Convert.ToString(hidden_secans.Value).ToUpper())

字符串比较和单个字符的字母顺序

我有一个与字符串比较和字符比较有关的问题。 字符>和0 (零)相应地具有以下十进制值62和48 。 当我比较以下代码中的两个字符时,我得到值True (这是正确的) Console.WriteLine(‘>’ > ‘0’); 当我在下面的代码中比较两个单字符字符串时,我得到值-1 ,表示“>”小于“0” (默认文化是英语) Console.WriteLine(string.Compare(“>”, “0”)); 而以下代码中“3”和“1”( 51和49代码值)的比较返回1 (如预期的那样) Console.WriteLine(string.Compare(“3”, “1”)); 另外, string.Compare(string str1, string str2)文档说: 比较使用当前文化来获取特定于文化的信息,例如套管规则和单个字符的字母顺序 您是否能够解释(或提供一些文档的参考)如何实现字符串比较,例如如何计算单个字符的字母顺序等?

Nullable 是“预定义的值类型” – 或者Equals()和==如何在这里工作?

对于我自己实现的Equals()方法,我想检查一堆内部字段。 我是这样做的: … _myNullableInt == obj._myNullableInt && _myString == obj._myString && … 我假设,这比较值,包括null,对于相等而不是对象地址(作为参考euqality比较操作会),因为: 对于此MSDN文档中的 “预定义值类型” ,可以这样说 。 我假设Nullable是这样的“预定义值类型”,因为它根据此MSDN文档位于System命名空间中。 我是否正确地假设VALUES在这里进行比较? 注意:unit testing显示“是”,但我希望其他人对这个问题感到放心,以防我错过了什么。

正则表达式比较字符串,看看差异在哪里

我正在创建一个正则表达式,以查看所有文档顶部的版权信息是否格式正确。 版权很长,因此我的正则表达也很长。 让我们说版权信息如下: /*///////////////////////////////////////////////////////////////////////// Copyright content which is a lot goes in here. Programmer: Tono Nam /////////////////////////////////////////////////////////////////////////*/ 然后我将使用正则表达式: var pattern = @”/\*///////////////////////////////////////////////////////////////////////// Copyright content which is a lot goes in here. Programmer: (?[\w ‘\.]+) /////////////////////////////////////////////////////////////////////////\*/”; 如果我将正则表达式应用于第一个文本,它将给我一个匹配,一切都很棒。 问题是当正则表达式不匹配时让我们说程序员在顶部放置一个额外的/ 。 我的正则表达式将不再匹配。 通过这个例子很容易注意到,但真正的版权要长得多,知道错误在哪里会很好。 或者有时会出现错误的错误。 例如,您可能会遇到Programer而不是Programmer。 正因为如此,我将不得不调查整个版权并尝试发现错误。 我认为应该有一种更简单的方法来做我需要的事情 编辑 如果主题恰好是: / * //////////////////////////////////////////////// ///////////////////////// 这里的版权内容很多SOME_MISPELED_WORD。 程序员:Tono Nam ////////////////////////////////////////////////// /////////////////////// […]

C#中的字符串比较性能

有许多方法可以比较字符串。 通过单一方式获得性能提升吗? 我总是选择像这样比较字符串: string name = “Bob Wazowski”; if (name.CompareTo(“Jill Yearsley”) == 0) { // whatever… } 但我发现很少有人这样做,如果有的话,我看到更多的人只是做一个直接的==比较,据我所知,这是比较字符串的最差方式。 我错了吗? 另外,它是如何比较LINQ查询中的字符串的? 例如,我喜欢做以下事情: var results = from names in ctx.Names where names.FirstName.CompareTo(“Bob Wazowski”) == 0 select names; 但同样,我看到很少有人在他们的LINQ查询中进行字符串比较。