none
怎样找出C#源代码中的所有{}对的索引 RRS feed

  • 问题

  • 怎样找出C#源代码中的所有{}对的索引               比如源代码
    namespace a{ namespace b{class a{ } } }
    11 22 32 33 34 35//这些索引不一定正确
    用KeyValuePair<int,int>存储每个{}匹配对,比如本示例中的
    11,34
    22,34
    32,33

    然后返回一个List<KeyValuePair<int,int>>
    谁能实现?
    2007年8月7日 7:34

答案

  • 关于您这里提到的问题,是否是您自己目前需要编写一个类似代码分析检索的程序?一般来说,最普通的类似的源代码分析程序需要用到字符串匹配和有限状态机理论,这些算法您可以查看一些常见的算法书。 针对.net 代码的特殊性,您也可以考虑使用 CodeDom 组件类帮助处理.net源代码:

    #使用 CodeDOM
    http://msdn2.microsoft.com/zh-cn/library/y2k85ax6(VS.80).aspx

    并且这里有一些别人设计的运用codedom编写的代码分析器:

    http://www.c-sharpcorner.com/Code/2003/March/CodeAnalyzerTool.asp

    http://www.codeproject.com/csharp/codedomparser.asp
    2007年8月7日 9:18