相关疑难解决方法(0)

C#中字符串比较方法的差异

在C#中比较字符串非常简单.事实上,有几种方法可以做到这一点.我在下面的块中列出了一些.我很好奇的是它们之间的差异以及何时应该使用其他的?是否应该不惜一切代价避免?还有更多我没有列出?

string testString = "Test";
string anotherString = "Another";

if (testString.CompareTo(anotherString) == 0) {}
if (testString.Equals(anotherString)) {}
if (testString == anotherString) {}
Run Code Online (Sandbox Code Playgroud)

(注意:我在这个例子中寻找平等,不小于或大于,但也可以随意发表评论)

c# string comparison

256
推荐指数
7
解决办法
19万
查看次数

如何识别拼写不同的相似单词

我想从数据库中筛选出重复的客户名称.单个客户可能有多个具有相同名称的系统条目,但拼写上的差异很小.所以这是一个例子:一个名为Brook的客户可能有三个条目进入系统:

  1. 布鲁克伯塔
  2. 布鲁克伯塔
  3. 比鲁克贝塔

我们假设我们将此名称放在一个数据库列中.我想知道识别此类重复的不同机制,例如100,000条记录.我们可以在C#中使用正则表达式来遍历所有记录或其他一些模式匹配技术,或者我们可以将这些记录导出到最适合此类查询的内容(具有正则表达式功能的SQL)).

这就是我认为的解决方案

  • 编写一个C#代码来遍历每条记录
  • 只按顺序获取辅音字母(在上面的例子中:BrKBrt)
  • 从其他记录中搜索相同的辅音模式,考虑类似的声音字母,如(C,K)(C,S),(F,PH)

所以请转发任何想法.

c# sql pattern-matching linq-to-sql

6
推荐指数
1
解决办法
3959
查看次数

Umlaute的文化感知字符串比较

我需要用德语比较两个字符串,以检查它们是否相等,只是在使用umlaute时有所不同.例如"Jörg"应与"Joerg"相同.

所以我尝试过:

var ci = new CultureInfo("de-DE");
int compareResult = ci.CompareInfo.Compare("jörg", "joerg", CompareOptions.IgnoreNonSpace);
Run Code Online (Sandbox Code Playgroud)

以及

int compareResult = String.Compare("jörg", "joerg", true, ci);
Run Code Online (Sandbox Code Playgroud)

(或者那两个是平等的吗?)

但是,这不起作用并将返回1.所有的变形金刚ö,ü和ä都是一样的.如果我比较strassestraße以同样的方式,这确实有效并返回0?!

谢谢你的任何想法!这篇文章表明我应该工作.

c# string-comparison .net-4.5

6
推荐指数
1
解决办法
1845
查看次数