Глюк с переменной

  • Автор темы Автор темы Kulya
  • Дата начала Дата начала

Kulya

Client
Регистрация
11.09.2016
Сообщения
180
Реакции
47
Баллы
28
Всем привет, возникла такая ситуация, есть код:

C#:
Развернуть Свернуть Копировать
lock(SyncObject) {
    try {
        //Если глобалка инициализирована - апаем на 1, возвращаем в переменну.
        var gb_count = project.GlobalVariables["namespace", "global_count"];
    gb_count.Value++;
        return gb_count.Value;
    }
    catch (KeyNotFoundException ex) {
        //Если нет - инииализируем со значением из переменной nachalnoe_znachenie, возвращаем его
        int start_value = int.Parse(project.Variables["nachalnoe_znachenie"].Value);
        project.GlobalVariables.SetVariable("namespace", "global_count", start_value);
        return start_value;
    }
}

В проджекте отрабатывает все нормально, но когда пытаюсь запустить с зенки, вылетает такая ошибка:

Не удается применить операнд "++" типа "string"

В C# я нуб, тапками прошу не кидать)

Помогите пожалуйста
 
попробуй заменить
gb_count.Value++;
на
gb_count.Value = int.Parse(gb_count.Value) + 1;
Все равно не работает:

Выполнение действия CSharp OwnCode. Наиболее подходящий перегруженный метод для "int.Parse(string)" имеет несколько недопустимых аргументов
 
Все равно не работает:

Выполнение действия CSharp OwnCode. Наиболее подходящий перегруженный метод для "int.Parse(string)" имеет несколько недопустимых аргументов
тогда так
gb_count.Value = Convert.ToInt32(gb_count.Value) + 1
 
  • Спасибо
Реакции: Kulya
В проджекте отрабатывает, а в зенке выбивает:

Выполнение действия CSharp OwnCode: Глобальгый счетчик. Входная строка имела неверный формат.
 
В проджекте отрабатывает, а в зенке выбивает:

Выполнение действия CSharp OwnCode: Глобальгый счетчик. Входная строка имела неверный формат.
Попробуй так
C#:
Развернуть Свернуть Копировать
lock(SyncObject) {
    try {
        //Если глобалка инициализирована - апаем на 1, возвращаем в переменну.
        var gb_count = Convert.ToInt32(project.GlobalVariables["namespace", "global_count"]);
    gb_count++;
        return Convert.ToString(gb_count);
    }
    catch (KeyNotFoundException ex) {
        //Если нет - инииализируем со значением из переменной nachalnoe_znachenie, возвращаем его
        int start_value = int.Parse(project.Variables["nachalnoe_znachenie"].Value);
        project.GlobalVariables.SetVariable("namespace", "global_count", start_value);
        return start_value;
    }
}

Если будет выдавать ошибку, попробуй заменить gb_count++ на gb_count+=1 и поменять тип переменной с var gb_count на int gb_count
 

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