相关疑难解决方法(0)

重写System.Object.GetHashCode的最佳算法是什么?

在.NET GetHashCode方法中,很多地方都使用.NET 方法.特别是在快速查找集合中的项目或确定相等性时.是否有关于如何GetHashCode为我的自定义类实现覆盖的标准算法/最佳实践,因此我不会降低性能?

.net algorithm hashcode gethashcode

1389
推荐指数
14
解决办法
19万
查看次数

如何使我的字符串比较不敏感(忽略)空白区域的微小差异?

我有一些测试检查显示给用户的字符串.

我不希望测试由于压痕或换行符等的变化而失败.所以我正在寻找像字符串比较那样的东西.

  • 忽略空格作为字符串的开头(易于使用string.trim)
  • 当任何数量的任何类型的空白彼此相邻时,其匹配方式与单个空格相同.

我可以开始创建一个正则表达式,但其他人可能有一个更好的解决方案因此这个问题.

.net string unit-testing

8
推荐指数
2
解决办法
6282
查看次数

C#String Comparison等于false

我有一个字符串比较问题 - 在大多数情况下 - 表现得如预期的那样,但是由于我的代码没有将字符串对检测为重复,因此留下了大量重复数据库插入.

我以为我把它缩小到一个文化问题(西里尔字符),我解决了,但我现在得到'假阴性'(两个显然相等的字符串显示为不相等).

我查看了以下类似的问题,并尝试了以下比较方法.

我检查的类似SO问题:

以下是比较字符串的示例:(标题和说明)

饲料标题:埃尔斯伯格:他是英雄

饲料设计:丹尼尔埃尔斯伯格告诉美国有线电视新闻网的唐柠檬,国家安全局的骗子爱德华斯诺登表现出了勇气,做了大量的服务.

db title: Ellsberg:他是英雄

db desc:丹尼尔埃尔斯伯格告诉美国有线电视新闻网的唐柠檬,国家安全局的骗子爱德华斯诺登表现出勇气,做了大量的服务.

我的应用程序将从RSS提要获取的值与我在数据库中提供的值进行比较,并且只应插入"新"值.

//fetch existing articles from DB for the current feed:
    List<Article> thisFeedArticles = (from ar in entities.Items
                                      where (ar.ItemTypeId == (int)Enums.ItemType.Article) && ar.ParentId == feed.FeedId
                                      && ar.DatePublished > datelimit
                                      select new Article
                                      {
                                           Title = ar.Title, 
                                           Description = ar.Blurb
                                      }).ToList();
Run Code Online (Sandbox Code Playgroud)

以下比较的每个人都显示与Ellsberg标题/描述不匹配.ie matches1 to matches6都有Count()==0

(请原谅列举的变量名称 - 它们仅用于测试)

   // comparison methods 
CompareOptions compareOptions = CompareOptions.OrdinalIgnoreCase;
CompareOptions compareOptions2 …
Run Code Online (Sandbox Code Playgroud)

.net c# string-comparison

7
推荐指数
1
解决办法
2001
查看次数

比较两个字符串,忽略换行符和空格

我需要比较两个字符串忽略空格和换行符,所以以下字符串应该相等:

"Initial directory structure.\r\n    \r\n    The directory tree has been changed"
"Initial directory structure.\n\nThe directory tree has been changed"
Run Code Online (Sandbox Code Playgroud)

有人知道如何实现它?提前致谢.

.net c# string

4
推荐指数
2
解决办法
2万
查看次数