Вопрос по c# в кубике

adr1enette

Client
Регистрация
30.11.2022
Сообщения
48
Благодарностей
11
Баллы
8
Написан несложный код, полностью функционирующий в одном методе. Но код почему-то все равно возвращает 1 строку, хотя в других средах разработки (с usin system, class program main, void.. весь остальной код), все работает прекрасно, и в переменную попадает строка, повторяющаяся столько раз, сколько составляет число в переменной.


C#:
int x = Convert.ToInt32(project.Variables["tmp"].Value) / 60 + 1;
            
    string phrase = "{END}";
    string repeatedPhrase = "";
            
    for (int i = 0; i < x; i++)
    {
        repeatedPhrase += phrase;
    }
            
return repeatedPhrase;

К примеру, tmp был 280 и x обзавелся числом 5. В конце repeatedPhrase продублирует фразу 1 раз и вернет в конце {END}. В других средах разработки возвращает как и положено {END}{END}{END}{END}{END}

В чем может быть дело? И почему в кубиках zennoposter можно использовать только тело 1 метода?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 649
Благодарностей
4 618
Баллы
113
код рабочий. Не понятно почему у тебя так. Складывается ощущение, что просто на tmp ноль, вот и всё
 

adr1enette

Client
Регистрация
30.11.2022
Сообщения
48
Благодарностей
11
Баллы
8
код рабочий. Не понятно почему у тебя так. Складывается ощущение, что просто на tmp ноль, вот и всё
Попробуй пожалуйста запустить код в кубике zennoposter. Он ведь не у меня одного не должен работать, по идее.. если наоборот, проблема сильно упрощается и виноват я
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 774
Благодарностей
2 431
Баллы
113
Попробуй пожалуйста запустить код в кубике zennoposter. Он ведь не у меня одного не должен работать, по идее.. если наоборот, проблема сильно упрощается и виноват я
Попробуйте использовать знак @ перед литералом "{END}" - может быть Зенно видит в нем какой-то макрос...
C#:
int x = Convert.ToInt32("280") / 60 + 1;
project.SendInfoToLog("x= "+x.ToString());
return string.Join(string.Empty, Enumerable.Range(0, x).Select(m=> @"{END}"));
Или, значение установите в переменную Зенно, и уже её подставляйте в код.
C#:
project.Variables["tmp"].Value ="280";
project.Variables["end"].Value =@"{END}";
int x = Convert.ToInt32(project.Variables["tmp"].Value) / 60 + 1;
project.SendInfoToLog("x= "+x.ToString());
return string.Join(string.Empty, Enumerable.Range(0, x).Select(m=> project.Variables["end"].Value));


111612


111613
 
  • Спасибо
Реакции: adr1enette

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 129
Благодарностей
592
Баллы
113
Попробуй пожалуйста запустить код в кубике zennoposter. Он ведь не у меня одного не должен работать, по идее.. если наоборот, проблема сильно упрощается и виноват я
Добавляй логирование и смотри что в переменной tmp лежит в момент выполнения кода

111616



111615
 
  • Спасибо
Реакции: adr1enette

doc

Client
Регистрация
30.03.2012
Сообщения
8 649
Благодарностей
4 618
Баллы
113
Попробуй пожалуйста запустить код в кубике zennoposter. Он ведь не у меня одного не должен работать, по идее.. если наоборот, проблема сильно упрощается и виноват я
я запускал. всё было норм
 
  • Спасибо
Реакции: adr1enette

adr1enette

Client
Регистрация
30.11.2022
Сообщения
48
Благодарностей
11
Баллы
8
Спасибо! Ваши ответы очень помогли, не говоря уже о готовности помочь
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)