1.问题点:想要查询3000个字符串,是否在C# 程序中有效的被使用?

1.问题点:想要查询3000个字符串,是否在C# 程序中有效的被使用?
描述:有一个List集合,里面装载了3000条字符串,想在整个程序中查找这些字符串哪些是被真正使用的,哪些是没有出现的?
有的字符串出现了,但是被//注释掉了,这种也属于不被使用的

总结:想查找出哪些字符串是真正不被使用的。

这个你只能自己这个小代码去检测了,用正则就可以,手动是会死人的

在C#程序中查找哪些字符串是真正被使用的可以通过代码分析来实现。以下是可能的实现步骤:

1~遍历整个程序源代码,找到所有的字符串字面量。

2~对于每个字符串字面量,判断它是否在List集合中。

3~如果字符串字面量在List集合中,则将该字符串标记为“被使用的”。

4~如果字符串字面量不在List集合中,则将该字符串标记为“未使用的”。

5~如果字符串字面量被注释掉了(被//注释掉了),则将该字符串标记为“未使用的”。

6~遍历完所有的字符串字面量后,就可以得到哪些字符串是真正被使用的,哪些是没有被使用的。

具体的实现可以使用C#的语法分析器来实现。C#的语法分析器可以分析C#源代码的语法结构,并提取出各种语法结构的信息,包括字符串字面量。 可以使用.NET框架中提供的Roslyn库来实现C#语法分析。

在C#程序中查找哪些字符串是真正被使用的可以通过代码分析来实现。以下是可能的实现步骤:

1~遍历整个程序源代码,找到所有的字符串字面量。

2~对于每个字符串字面量,判断它是否在List集合中。

3~如果字符串字面量在List集合中,则将该字符串标记为“被使用的”。

4~如果字符串字面量不在List集合中,则将该字符串标记为“未使用的”。

5~如果字符串字面量被注释掉了(被//注释掉了),则将该字符串标记为“未使用的”。

6~遍历完所有的字符串字面量后,就可以得到哪些字符串是真正被使用的,哪些是没有被使用的。

具体的实现可以使用C#的语法分析器来实现。C#的语法分析器可以分析C#源代码的语法结构,并提取出各种语法结构的信息,包括字符串字面量。 可以使用.NET框架中提供的Roslyn库来实现C#语法分析。

3000这个大小,直接List就可以了,不要特别优化
如果规模更大,考虑用字典树。

这里我想到两个方法:

  1. 这里的前提条件是你的程序不那么复杂
    假设你本来的List是list1,这里你需要新建一个list2。在程序中使用list1里面的元素时一般是写为list1[i],这里的i既有可能是一个数字,也有可能是一个变量。然后你在每个list1[i]的旁边加上list2.Add(list1[i]); 。这样最后list2里面就会存入list1中被用到的元素。
  2. 如果你的程序比较复杂,那你就得进行更多的学习。
    1)学习如何在后台生成的日志里查询list1中有哪些元素被使用。
    2)使用程序分析工具来帮助你分析程序的使用情况。这些工具可以收集程序运行时的信息,如函数调用、变量使用等,然后生成报告,从而帮助你找出哪些字符串被使用了。