ShaHam11 Ответов: 1

Инициализация глобальной переменной в классе


Привет,

Я хотел бы инициализировать глобальную переменную внутри класса во время выполнения time..is это возможно?А как иначе?

то есть консоль.writeline ("введите путь")

string path=console. readline();

Прямо сейчас я инициализировал только основной метод, он работает..однако у меня есть пара других методов, где эта переменная "path" должна использоваться

Что я уже пробовал:

Попробовал разместить сбоку основной метод
объявлена переменная как статическая .. во время выполнения он возвращает null

1 Ответов

Рейтинг:
4

OriginalGriff

Здесь есть пара проблем: во-первых, C# не имеет глобальных переменных: все находится внутри класса. Самое близкое, что вы можете получить, - это иметь статическую переменную внутри класса, и она будет доступна всему коду через имя класса:

public class MyClass
   {
   public static int globalValue = 666;
   ...
   }
...
public class MyOtherclass
   {
   private void MyMethod()
      {
      Console.WriteLine(MyClass.globalValue);
      }
   }

Когда вы это сделаете, вы можете использовать статический конструктор для MyClass для инициализации переменной:
public class MyClass
    {
    public static string globalValue;
    static MyClass()
        {
        globalValue = File.ReadAllText(@"D:\Test Data\Primes.txt");
        }
    }
Статический конструктор будет вызван до того, как переменная будет использована.


ShaHam11

спасибо OrginialGriff.. Сегодня я понял, почему на самом деле у нас есть статический конструктор.. ранее я придумал объявление статической переменной..но совершенно забыл, что мне нужно инициализировать эту переменную в статическом конструкторе... спасибо за помощь и поддержку

OriginalGriff

Пожалуйста!