Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/48: Рейтинг темы: голосов - 48, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 03.12.2013
Сообщений: 29

Как объявить переменную глобально?

20.12.2014, 10:56. Показов 9678. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать одну переменную так, чтобы она могла использоваться во всех других функциях.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.12.2014, 10:56
Ответы с готовыми решениями:

Как глобально объявить переменную для ее работы в разных методах
Подскажите пожалуйста как можно сделать переменную в классе контролера для того чтобы можно было брать из нее данные в разных методах. ...

Как глобально объявить массив
Помогите Создал Button в котором Фиксируются массивы А в других действиях Эти массивы невидны(клик другого Button) как быть и...

Как объявить переменную
Или так(тоже не получается) namespace имя { public partial class Form1 : Form { public Form1() ...

11
3 / 3 / 0
Регистрация: 19.12.2014
Сообщений: 12
21.12.2014, 20:36
Глобальных переменных в С# нет, только внутри классов.
0
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
21.12.2014, 20:37
Xadarat,
Используй поле класса вместо глобальной переменной.
0
51 / 42 / 24
Регистрация: 18.09.2014
Сообщений: 116
21.12.2014, 21:05
Переменные, область видимости которых распространяется только на единственную функцию, называются локальными переменными. Однако допустимо использовать и глобальные переменные, область видимости которых распространяется на несколько функций.
Пример:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Program 
{ 
 static string myString; 
 static void Write () 
 { 
  string myString = "String defined in Write ()"; 
  Console.WriteLine ("Now in Write ()"); 
  Console.WriteLine("Local myString = {0}", myString); // локальная 
  Console.WriteLine("Global myString = {0}", Program.myString); // глобальная 
 } 
 static void Main(string[] args) 
 { 
  string myString = "String defined in Main ()"; 
  Program.myString = "Global string"; 
  Write(); 
  Console. WriteLine ("\nNow in Main ()"); 
  Console.WriteLine("Local myString = {0}", myString); // локальная 
  Console.WriteLine("Global myString = {0}", Program.myString); // глобальная 
  Console.ReadKey() ; 
 } 
}
И вот такое получиться в консольном приложении
C#
1
2
3
4
5
6
7
Now in Write ()
Local myString = String defined in Write ()
Global myString = Global string
 
Now in Main ()
Local myString = String defined in Main ()
Global myString = Global string
1
871 / 721 / 304
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
21.12.2014, 22:31
Цитата Сообщение от VaaD Посмотреть сообщение
допустимо использовать и глобальные переменные
Это поле класса, а не глобальная переменная
0
51 / 42 / 24
Регистрация: 18.09.2014
Сообщений: 116
22.12.2014, 04:32
XRoy, согласен, это поле класса. Но я решил написать так по двум причинам:
Во первых, я ответил на поставленный вопрос.
Цитата Сообщение от Xadarat Посмотреть сообщение
Как сделать одну переменную так, чтобы она могла использоваться во всех других функциях.
Во вторых, это была цитата с книги, по которой я изучаю C#. И решил, что так будет легче разобраться.
0
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
22.12.2014, 10:59
Цитата Сообщение от VaaD Посмотреть сообщение
это была цитата с книги
а что за книга?
ибо называть поле - глобальной переменной, это маленькая ересь.
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
22.12.2014, 11:05

Не по теме:

Раз, два, три... шесть. ШЕСТЬ(!) ответов, и никто не заикнулся о public?!


Уровни доступности
Модификаторы доступа

Добавлено через 2 минуты
p.s. да, скорее всего полезно будет и єто почитать Статические классы и члены статических классов
1
3 / 3 / 0
Регистрация: 19.12.2014
Сообщений: 12
22.12.2014, 14:42
Цитата Сообщение от Wolfdp Посмотреть сообщение

Не по теме:

Раз, два, три... шесть. ШЕСТЬ(!) ответов, и никто не заикнулся о public?!


Уровни доступности
Модификаторы доступа

Добавлено через 2 минуты
p.s. да, скорее всего полезно будет и єто почитать Статические классы и члены статических классов
Да конечно, но все же это поле класса, вызываемое через экземпляр(в том виде как в С++ уже нет той полноценной переменной). Хотя функции глобальной выполняет подобная public переменная, но нужно в каждом классе создавать новый экземпляр, если я не ошибаюсь. По большому счету в общем смысла большого в такой глобальной переменной мало, ну и в частности в самой глобальной переменной тоже практического смысла маловато. ИМХО
0
Эксперт .NET
 Аватар для Wolfdp
3790 / 1767 / 371
Регистрация: 15.06.2012
Сообщений: 6,543
Записей в блоге: 3
22.12.2014, 15:31
Цитата Сообщение от prapor97 Посмотреть сообщение
в том виде как в С++ уже нет той полноценной переменной
Думаю найболее близкое к єтому понимаю:
C#
1
public class MyClass { public static int GlogalField; }
Цитата Сообщение от prapor97 Посмотреть сообщение
большого в такой глобальной переменной мало
Тут все упирается в область применения:
_если параметр будет использоваться только внутриними методами класса, то ставим private
_при возможном использовании наследником ставим protected
_при необходимости доступа из вне (хотя єто часто плохой подход) ставим public, если параметр не привязан к єкземпляру класса и вообще глобальньій, то уже static public
0
3 / 3 / 0
Регистрация: 19.12.2014
Сообщений: 12
30.12.2014, 11:21
Цитата Сообщение от Wolfdp Посмотреть сообщение
Думаю найболее близкое к єтому понимаю:
Код C#
1
public class MyClass { public static int GlogalField; }
Ну да точно можно использовать именно так MyClass.GlogalField;
0
0 / 0 / 0
Регистрация: 26.03.2014
Сообщений: 23
05.04.2015, 07:58
Всем привет! Помогите решить одну проблемку, есть три поля их значения(формат string) берутся из внешнего файла txt, если этого файла нет(или в нем нет строк),программа даже не запуститься и выдаст ошибку.Важно чтобы эти переменные были видны всем методам в классе...исключение вылетает из за метода
string поле = File.ReadLines(readPath).Skip(0).First() ;
этот метод я использую так как мне нужно считать три строки и присвоить каждому полю значение определенной строки.
Заранее спасибо!!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.04.2015, 07:58
Помогаю со студенческими работами здесь

Как объявить переменную в степени
Всем доброго времени суток, ребят. Делаю лабу по численным методам, прошу вашей подсказки. Как в C# объявить функцию если она...

Как объявить глобальную переменную?
Как объявить глобальную переменную?у меня 16 блоков и нужно чтобы она была доступна всем блокам Добавлено через 12 минут В С#.

Как объявить глобальную переменную?
Вобщем проблема у меня следующая, нужно увидеть переменную из одной формы в другой!!! заранее спасибо!!!

Как объявить глобальную переменную
Вот код /* * Created by SharpDevelop. * User: admin * Date: 30.06.2014 * Time: 18:36 * * To change this template...

Как объявить переменную string?
Выдает ошибку при объявлении переменной, хелп Public Class Form1 Private Sub TextBox1_TextChanged(sender As Object, e As...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru