Я хочу создать метод, который запустит программу чтения (вероятно, StreamReader) для исходного файла C# .cs, и он сможет анализировать и находить все экземпляры операторов «if», сортируя их по автономному принципу if. , или если с else. Затем он добавит его в соответствующий список (один для автономного if, другой для if-else) с номером строки в качестве уникального идентификатора.
Это было бы довольно легко просто проанализировать. из всех экземпляров "if(", "if(", а затем добавить номер строки в список, но отличить if от else от автономного оказывается очень сложно.
Все, о чем я могу думать, это использовать ведущие и конечные фигурные скобки в качестве ориентиров. Когда найден оператор «if», попробуйте найти завершающий «}», а затем, если следующая строка read.nextLine содержит else. , его можно добавить в список else. Однако это усложняется наличием вложенных if, для которых потребуется какая-то рекурсия или отдельный фоновый рабочий процесс, а также вероятность того, что "{}" вообще не будет, поскольку это так. синтаксически не требуется в C#.
Подробнее здесь: https://stackoverflow.com/questions/786 ... dding-to-a