Счетчик переменной

amaluser

Client
Регистрация
14.07.2020
Сообщения
19
Благодарностей
1
Баллы
3
Привет всем!

Помогите кто может написать код на си шарпе. Нужно сделать счетчик .Есть переменная значение у нее равно 1, надо сделать так чтобы каждый раз когда цикл будет проходить этот кубик C# он увеличивал значение этой переменной на 1 , при достижение допустим 1000 выдавал ошибку.
Буду очень благодарен
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 718
Баллы
113
C#:
int Count_Max = 1000;     
int Count_Check = int.Parse(project.Variables["Counter0"].Value) +1 ;     
project.Variables["Counter0"].Value = Count_Check.ToString();               
if ( Count_Check > Count_Max ) throw new Exception();
else return 0;
 

amaluser

Client
Регистрация
14.07.2020
Сообщения
19
Благодарностей
1
Баллы
3

material

Client
Регистрация
23.03.2021
Сообщения
316
Благодарностей
114
Баллы
43
C#:
int Count_Max = 1000;    
int Count_Check = int.Parse(project.Variables["Counter0"].Value) +1 ;    
project.Variables["Counter0"].Value = Count_Check.ToString();              
if ( Count_Check > Count_Max ) throw new Exception();
else return 0;
Возможно ли изменить логику на более привычную, которая идёт со стандартным блоком цикла в ZennoPoster?
Сейчас данный код идёт по зеленой ветке при 4=5, и по красной при 5=5, возможно ли сделать наоборот, чтобы при значениях 4=5 снипет вел по красной ветке, а при 5=5 по зеленой, как при стандартном цикле ZennoPoster?
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
546
Благодарностей
1 125
Баллы
93
Возможно ли изменить логику на более привычную, которая идёт со стандартным блоком цикла в ZennoPoster?
Сейчас данный код идёт по зеленой ветке при 4=5, и по красной при 5=5, возможно ли сделать наоборот, чтобы при значениях 4=5 снипет вел по красной ветке, а при 5=5 по зеленой, как при стандартном цикле ZennoPoster?
Честно не знаю где вы такую стандартную логику нашли. Когда создается цикл вы сами пишите выражение в IF кубике.
В вашей цитате if ( Count_Check > Count_Max ), а вы хотите if ( Count_Check < Count_Max ). Чтобы кубик выходил по красной только когда значение меньше Count_Max
Но надо понимать, что при такой логике цикл при 1<5 пойдет по красной. А после 5<5 и больше он будет бесконечным.

Решение наоборот: :br:
C#:
int Count_Max = 5;   
int Count_Check = int.Parse(project.Variables["Counter0"].Value) +1 ;   
project.Variables["Counter0"].Value = Count_Check.ToString();             
if ( Count_Check < Count_Max ) throw new Exception();
else return 0;
 
  • Спасибо
Реакции: AndrewSuul и material

material

Client
Регистрация
23.03.2021
Сообщения
316
Благодарностей
114
Баллы
43
Честно не знаю где вы такую стандартную логику нашли. Когда создается цикл вы сами пишите выражение в IF кубике.
В вашей цитате if ( Count_Check > Count_Max ), а вы хотите if ( Count_Check < Count_Max ). Чтобы кубик выходил по красной только когда значение меньше Count_Max
Но надо понимать, что при такой логике цикл при 1<5 пойдет по красной. А после 5<5 и больше он будет бесконечным.

Решение наоборот: :br:
C#:
int Count_Max = 5; 
int Count_Check = int.Parse(project.Variables["Counter0"].Value) +1 ; 
project.Variables["Counter0"].Value = Count_Check.ToString();           
if ( Count_Check < Count_Max ) throw new Exception();
else return 0;
Не совсем понимаю от куда в моем посте взялись знаки "больше" и "меньше" (C# это лишь цитата поста годичной давности), я в своём примере приводил неравенства "4=5" и "5=5" и как они отрабатывают, если пропустить через них данный код. Насчет стандартной логики, имелась ввиду не общепринятая логика, каких-то людей, а конкретно логика работы функции "Повторить в цикле", которая реализована в ZennoPoster-е.
 

djaga

Administrator
Команда форума
Регистрация
26.04.2020
Сообщения
546
Благодарностей
1 125
Баллы
93
Не совсем понимаю от куда в моем посте взялись знаки "больше" и "меньше" (C# это лишь цитата поста годичной давности), я в своём примере приводил неравенства "4=5" и "5=5" и как они отрабатывают, если пропустить через них данный код. Насчет стандартной логики, имелась ввиду не общепринятая логика, каких-то людей, а конкретно логика работы функции "Повторить в цикле", которая реализована в ZennoPoster-е.
Да, согласен. Я неправильно вас понял.
Просто в программировании равенство указывается "==", а вы указали один, и я считывал это как просто разделитель. Csharp головного мозга.)

Ситуация конечно абсурдная, но вы хотите вот что:
C#:
int Count_Max = 5; 
int Count_Check = int.Parse(project.Variables["Counter0"].Value) +1 ; 
project.Variables["Counter0"].Value = Count_Check.ToString();           
if ( Count_Check < Count_Max ) return "green";
else throw new Exception(); // red
 
  • Спасибо
Реакции: material

material

Client
Регистрация
23.03.2021
Сообщения
316
Благодарностей
114
Баллы
43
Да, согласен. Я неправильно вас понял.
Просто в программировании равенство указывается "==", а вы указали один, и я считывал это как просто разделитель. Csharp головного мозга.)

Ситуация конечно абсурдная, но вы хотите вот что:
C#:
int Count_Max = 5;
int Count_Check = int.Parse(project.Variables["Counter0"].Value) +1 ;
project.Variables["Counter0"].Value = Count_Check.ToString();          
if ( Count_Check < Count_Max ) return "green";
else throw new Exception(); // red
Не подумал насчёт "==", учтем этот момент на будущее. Вы скорее всего активно используете C#, как нормальный человек, а вот когда счётчики долгое время были созданы через функцию "Повторить в цикле", то привыкаешь к логике работы функции IF, которая реализована в ZennoPoster-е, там как я и писал ранее она несколько другая.

Коротко повторюсь:
C# данной темы ведет по зеленой ветке при 4==5, и по красной при 5==5.
Экшен ZennoPoster-а "Повторить в цикле"ведет по красной ветке при 4==5, и по зеденой при 5==5.

Равенство "==" самое простое, поэтому его и привел в качестве примера. По остальным неравенствам будет ещё более запутанней ситуация, когда привык выстраивать логику по одному сценарию, и в один момент всё переворачивается с ног на голову.

Спасибо вам за помощь, здесь недопонимание может возникнуть в разности опыта, одно дело когда человек активно использует C#, а другое, когда большая часть работы идёт через базовый функционал. Вот потихоньку начал переезжать на C#, хоть с чего-то но нужно начинать, хотя бы в самых простых задачах.
 
  • Спасибо
Реакции: djaga

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