gpt4 book ai didi

c# - 在大型代码库中查找字符串 == 运算符的用法

转载 作者:IT王子 更新时间:2023-10-29 04:50:14 25 4
gpt4 key购买 nike

我收到了一个请求,希望研究在相当大的 C# 代码库中用 String.Equals() 替换所有字符串 == 运算符用法的可行性显式指定区分大小写的方法调用。

不过,我并没有找到一种方法来识别代码库中的所有事件。

  • 搜索“==”显然会找到除被比较的字符串之外的无数类型实例。
  • 似乎没有 StyleCop 规则可以找到它。
  • 也不是 ReSharper 规则。
  • 作为最后的手段,我尝试将程序集加载到 JustDecompile 中并找到 System.String.op_Equality 的所有用法,但这似乎没有在 LINQ 表达式中使用,例如 .Where(x => x.StringField == stringField)

所以我有点难过,想知道是否有人对如何搜索这些讨厌的比较有任何想法?

最佳答案

您可以使用 Resharper 找到所有用法。这是对我有用的:

  1. 右键单击代码中任意位置的字符串类型。点击前往声明
  2. Resharper 将从 .NET 框架打开 string.cs
  3. 向下滚动到 operator == 并右键单击,选择Find Usages

这需要一些时间,但您会得到一个很好的用法列表,在 TreeView 中排序。我在 VS2010 中使用 Resharper 6.1 进行了尝试。

更新

有一种更简单的方法可以做到这一点:

  1. 在字符串比较中选择==
  2. 右键单击所选内容并选择高级查找用法
  3. 在查找下的对话框中,仅选中“Usages”并将范围设置为“Solution”以过滤掉其他库中的任何引用。

关于c# - 在大型代码库中查找字符串 == 运算符的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11754311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com