При запуске программы я делаю запрос к базе и сохраняю данные в элемент List. Как мне сохранить данные, Чтобы я мог получить доступ из любого места в проекте. Я думал сохранить в txt потом считывать каждый раз, но это не есть хорошо) Подскажите правильный вариант
1 ответ 1
Храните этот список в public static поле класса (какого — решите исходя из логики приложения).
Пример. Список будет храниться в статическом классе ListStore в свойстве PublicList . Заполнять будем методом этого же класса InitList . На запуске программы вызываем этот самый InitList , после чего наш список сформирован и мы можем обращаться к нему через ListStore.PublicList (что мы и делаем в методе GetFirstRecordFromList класса ListUser )

Всё ещё ищете ответ? Посмотрите другие вопросы с метками c# global-variables или задайте свой вопрос.
Связанные
Похожие
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
дизайн сайта / логотип © 2019 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2019.11.15.35459
Visual Studio 2010
в stdafx.h объявляю
extern int ig;
stdafx.h включен в каждый файл
в >в main.cpp написано ig = 14;
1>class.obj : error LNK2020: неразрешенная лексема (0A000005) «int ig» (?ig@@$$Q3HA)
1>temp.obj : error LNK2020: неразрешенная лексема (0A000009) «int ig» (?ig@@$$Q3HA)
1>temp.obj : error LNK2001: неразрешенный внешний символ «»int ig» (?ig@@$$Q3HA)»
1>class.obj : error LNK2001: неразрешенный внешний символ «»int ig» (?ig@@$$Q3HA)»
1>E:VisualStudio emp.exe : fatal error LNK1120: 3 неразрешенных внешних элементов
В файле myfile.h прописываете:
extern double pi;
В файле myfile.cpp
double pi = 3.14159265358979323846;
Во всех остальных файлах, где нужна переменная:
Обновл. 30 Июн 2019 |
Мы уже знаем, что переменные, объявленные внутри блока, называются локальными. Они имеют локальную область видимости (используются только внутри блока, в котором объявлены) и автоматическую продолжительность (создаются в точке определения и уничтожаются в конце блока).
Глобальными называются переменные, которые объявлены вне блока. Они имеют статическую продолжительность, т.е. создаются при запуске программы и уничтожаются при её завершении. Глобальные переменные имеют глобальную область видимости (или ещё «файловую область видимости»), то есть их можно использовать в любом месте файла, в котором они объявлены.
Определение глобальных переменных
Обычно глобальные переменные объявляют в верхней части кода, ниже директив #include, но выше любого другого кода. Например:
Подобно тому, как переменные во внутреннем блоке скрывают переменные с теми же именами во внешнем блоке, локальные переменные скрывают глобальные переменные с одинаковыми именами внутри блока, в котором они определены. Однако, с помощью оператора разрешения области видимости (::), компилятору можно сообщить, какую версию переменной вы хотите использовать: глобальную или локальную. Например:
Результат выполнения программы выше:
Global value: 3
Local value: 9
Использовать одинаковые имена для локальных и глобальных переменных — это прямой путь к проблемам и ошибкам, поэтому подобное делать не рекомендуется. Многие разработчики добавляют к глобальным переменным префикс g_ (“g” от англ. “global”). Таким образом можно убить сразу двух зайцев: определить глобальные переменные и избежать конфликтов имён с локальными переменными.
Ключевые слова static и extern
В дополнение к области видимости и продолжительности, переменные имеют ещё одно свойство: связь. Связь переменной определяет, относятся ли несколько упоминаний одного идентификатора к одной и той же переменной или нет.
Переменная без связей — эта переменная с локальной областью видимости, которая относится только к блоку, в котором она определена. Это обычные локальные переменные. Две переменные с одинаковыми именами, но определённые в разных функциях, не имеют никакой связи — каждая из них считается независимой боевой единицей.
Переменная, имеющая внутренние связи, называется внутренней переменной (или ещё «статической переменной»). Она может использоваться в любом месте файла, в котором определена, но не относится к чему-либо вне этого файла.
Переменная, имеющая внешние связи, называется внешней переменной. Она может использоваться как в файле, в котором определена, так и в других файлах.
Если вы хотите сделать глобальную переменную внутренней (которую можно использовать только внутри одного файла) — используйте ключевое слово static: