Как сделать так чтобы во время изменения значения переменной происходило действие c#?
Делаешь вместо "переменной" свойство и внутри сеттера вызываешь какой-нибудь метод, который будет уведомлять заинтересованных об изменении.

Например вот так:
public class Test {
  private int _someValue;
  public int SomeValue
  {
    get => _someValue;
    set {
      if(value != _someValue) {
        _someValue = value;
        NotifyAboutChange(); // То самое "действие"
      }
    }
  }
}
Про события можешь почитать тут:
https://docs.microsoft.com/ru-ru/dotnet/csharp/lan...
Для этого создается событие: оно вызывается тем методом, где используется переменная. Подписчики события получают информацию о текущем значении переменной и выполняют свой код.