Посчитать количество итераций цикла do while

118
07 декабря 2019, 09:00

Подскажите, пожалуйста, как посчитать количество итераций цикла do while с помощью Roslyn? Нужен семантический анализатор, который бы определял итерации.

using System;
using System.Linq;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
namespace testAnalyzer
{
    class Program
    {
        static void Main(string[] args)
        {
            var code = @"
    public void FindI()
    {
        int i = 0;
        int a = 17;
        do 
        {
            a+=9;
            i++;
        }
        while (a<104);
    }";
            var syntaxTree = CSharpSyntaxTree.ParseText(code);
            var doStatement = syntaxTree
                .GetRoot()
                .DescendantNodes()
                .OfType<DoStatementSyntax>()
                .First();
            //??????????
            Console.WriteLine("num of iterations: " );
            Console.ReadKey();
        }
    }
} 
Answer 1

проверить код можете здесь

i-1 - кол-во итераций

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Rextester
{
    public class Program
    {
        public static void Main(string[] args)
        {
            int i = 0;
            int test = 0;
            do
            {
                test+=20;
                i++;
                if(test > 1000) break;
            }
            while(true);
            Console.Write((i-1).ToString());
        }
    }
}
READ ALSO
Доступ к статическим файлам в ASP.NET Core MVC

Доступ к статическим файлам в ASP.NET Core MVC

Для статических файлов в проекте ASPNET Core MVC есть папка wwwroot

102
Как реализовать выстрел из гарпуна(хука)?

Как реализовать выстрел из гарпуна(хука)?

Я хочу реализовать выстрел из гарпуна(хука), как в игре Dota 2Чтобы когда Pudge бросал крюк: 1

131
C#. Слишком длинный строковый параметр

C#. Слишком длинный строковый параметр

Заменяю текст в документе wordПока текст короткий передаю в word, всё нормально работает

120
Собственный атрибут

Собственный атрибут

Подскажите как это реализуется, ни разу такого не делалМне надо, перед методом проверять, имеет ли роль пользователя, разрешения на использования...

113