我已经请求在一个相当大的C#代码库中使用明确指定区分大小写的==
方法调用来替换所有字符串String.Equals()
运算符用法的可行性。
虽然没有太多运气找出识别代码库中所有事件的方法。
System.String.op_Equality
的所有用法,但这似乎没有在LINQ表达式中找到用法,例如.Where(x => x.StringField == stringField)
所以我有点难过,想知道是否有人对如何搜索这些讨厌的比较有任何想法?
答案 0 :(得分:11)
您可以使用Resharper查找所有用法。这对我有用:
operator ==
并右键单击,选择查找用法 这需要一些时间,但你会得到一个很好的用法列表,在树状视图中排序。 我在VS2010中尝试使用Resharper 6.1。
<强>更新强>
有一种更简单的方法可以做到这一点:
==
答案 1 :(得分:0)
我的建议是编写一个非常基本且特定的代码解析器,它遍历系统中的每个范围,记录所有string
/ String
变量声明并检测任何==
比较使用那些变数。
欢迎任何对代码解析有深入了解的人发表评论。我确信有一些可以使用的类/工具。