powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / локальная переменная с сохранением значения
18 сообщений из 18, страница 1 из 1
локальная переменная с сохранением значения
    #39095058
WitC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
привет!
есть метод, который использует переменную только в этом методе.
переменная должна изменять и хранить своё текущее значение в течении работы всей программы.

решение:
объявил глобальную переменную.
неудобства:
она "видна" во всём классе.

пытаюсь:
помнится, где-то читал про локальные переменные метода, которые хранят своё значение.
объявляются с каким-то ключевым словом...

кто-то может напомнить как это делается?

язык C#

Спасибо.
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095066
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WitCнеудобства:
она "видна" во всём классе.если переменная хранит свое значение между вызовами метода, значит это переменная уровня класса, все логично, чего ж тут неудобного?
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095076
LameUser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProWitCнеудобства:
она "видна" во всём классе.если переменная хранит свое значение между вызовами метода, значит это переменная уровня класса, все логично, чего ж тут неудобного?

+1.

Ответ кроется в самом вопросе авторпеременная должна изменять и хранить своё текущее значение в течении работы всей программы.

А выдуманное "неудобство" пусть разрулит модификатором доступа (private, protected etc).
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095106
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WitCона "видна" во всём классе.

не делай больших классов, делай много, но поменьше. и не будет проблемы, что кто-то там что-там видит, чего не должен.

в ответ на прямой вопрос, в C# никак такое не делается. всё что внутри класса, видно всему классу. и если что-то надо спрятать от других методов класса, значит пора делать декомпозицию, расколупывать класс на несколько. только так.
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095124
WitC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt,

да это всё понятно...
и класс не большой, только начинаю его писать.
просто было бы красиво так реализовать, ведь переменная всё равно локальная для метода...
и вот точно читал когда-то про такое... только не помню, C# или другой язык, возможно Java?...

вот и думается, если есть такие "двери", почему бы туда не ходить?
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095130
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WitCпривет!
есть метод, который использует переменную только в этом методе.
переменная должна изменять и хранить своё текущее значение в течении работы всей программы.

решение:
объявил глобальную переменную.
неудобства:
она "видна" во всём классе.

пытаюсь:
помнится, где-то читал про локальные переменные метода, которые хранят своё значение.
объявляются с каким-то ключевым словом...

кто-то может напомнить как это делается?

язык C#

Спасибо.static
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095141
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WitCтолько не помню, C# или другой языкв VB такое было, переменная, объявленная со модификатором Static.
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095149
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProWitCтолько не помню, C# или другой языкв VB такое было, переменная, объявленная со модификатором Static.+1
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095151
WitC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fortibransa,

нет, static нельзя использовать в методе.
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095157
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WitCfortibransa,

нет, static нельзя использовать в методе.Он спросил, я ответил, только не уточнил, что в VB. А Shocker.Pro уточнил.
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095158
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WitC,
Не получится у Вас именно то, что хотели бы получить. Нет такой возможности в C#. Рамки всего класса - минимально возможный scope видимости.
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095161
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WitCfortibransa,

нет, static нельзя использовать в методе.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public class SuperClass
{
    private static IDictionary<string, object> LocalVars { get; } = new IDictionary<string, object>();

    public void SomeMethod()
    {
            int myVar;
            object myVarObject;
            if(LocalVars.TryGetValue("1FCA6EBE-9A04-457B-B71D-D84C923DB3ED", out myVarObject))
            {
                myVar = (int) myVarObject;
            }
        
            ... код метода


            LocalVars["1FCA6EBE-9A04-457B-B71D-D84C923DB3ED"] = myVar;
    }
}
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095166
WitC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
fortibransa,

да, это оно - VB... но красиво же...

всем спасибо.
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095176
Фотография Axeleron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WitCда, это оно - VB... но красиво же...
На вкус и цвет... :)
Но в C# такое не прокатит.
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095178
WitC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttWitCfortibransa,

нет, static нельзя использовать в методе.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public class SuperClass
{
    private static IDictionary<string, object> LocalVars { get; } = new IDictionary<string, object>();

    public void SomeMethod()
    {
            int myVar;
            object myVarObject;
            if(LocalVars.TryGetValue("1FCA6EBE-9A04-457B-B71D-D84C923DB3ED", out myVarObject))
            {
                myVar = (int) myVarObject;
            }
        
            ... код метода


            LocalVars["1FCA6EBE-9A04-457B-B71D-D84C923DB3ED"] = myVar;
    }
}



ну да, правильно сказать "... нельзя объявлять ..." а "... не использовать ..."
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095209
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WitC,
как извращенный вариант.
создать тип атрибута.
определить там переменную, торчащую наружу, динамический навесить его на персистентный объект ( ну хоть контекст формы - через
параметр this) в интересующем нас методе - и работать , поверьте никто не ломанется туда, и криво не насадит по душевной простоте..
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095792
WitC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Где-то в степи,

спасибо, конечно, но я дальше Static в VB.Net не пойду.
тем более из-за одной простой переменной целый атрибут городить.

я не мог вспомнить где читал про такое, поэтому спросил.
если бы была такая возможность в C#, то воспользовался бы...
...
Рейтинг: 0 / 0
локальная переменная с сохранением значения
    #39095928
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WitCесли бы была такая возможность в C#, то воспользовался бы...

и это было бы ошибкой. потому что статики вообще-то зло.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / локальная переменная с сохранением значения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]