如何查找可疑语句,如"Name = Name;" 在C#by Regex?

Yin*_*ing 0 c# regex

我的C#代码有很多声明,如"this.Name = ...".为了使我的代码整洁,我让文本编辑器替换所有"这个".一无所获.代码仍然有效.但后来我资助它给我带来了很多新的麻烦,因为我写了一些陈述,如:

this.Name = Name; // the second Name is a parameter.
Run Code Online (Sandbox Code Playgroud)

更换后,它变为:

Name = Name;
Run Code Online (Sandbox Code Playgroud)

现在,我遇到了太多的代码.如何找到像"Name = Name;"这样的可疑代码 Regex在VS 2010中的表现?

谢谢,

Dar*_*rov 7

当您只需编译解决方案并查找CS1717警告时,为什么还要使用Regex :

对同一变量进行的赋值; 你的意思是分配其他东西吗?

另请注意,在C#中,将参数以小写字母开头是一个很好的约定.


Mar*_*ith 5

我同意Darin的方法更强大,应该先做.但是,您可能已经注释掉了这种方法将会遗漏的代码部分.

要尝试找到那些你可以使用"在文件中查找".在查找框中,勾选"使用常规表达"并输入{:i}:Wh*=:Wh*\1

  • :i C样式标识符(括在括号中的"标记"表达式)
  • :Wh* 零个或多个白色空间字符
  • \1 返回对已找到的标记标识符的引用

这种方法可能会带来一些误报,所以你可以尝试,:Wh+{:i}:Wh*=:Wh*\1:Wh+如果有太多,但有可能错过一些匹配(例如,结束注释标记紧接在赋值语句之后)