Получить; Установить; Переменные

#c# #variables #methods #get

#c# #переменные #методы #получить

Вопрос:

Я настраиваю несколько методов и задаюсь вопросом, как продолжать передавать одну переменную («верхнюю» переменную) в разные методы.

Основной метод:

 public static void Main(string[] args)
    {
        int[] anArray = new int[5];
        int top = -1;
        PushPeek(anArray);
  

затем мне нужно передать top в:

 public static void PushPeek(int[] ar)
    {

        if (ar[ar.Length -1] == ar.Length -1)
        {
            //do nothing
        }
        else
        {
            top = top   1;
            Console.WriteLine(ar[top]);
        }
    }
  

Я знаю, что это связано с чем-то с get; set; но я не знаю как, какая-нибудь помощь?

Ответ №1:

Передать это по ссылке:

 public static void PushPeek(int[] ar, ref int top)
{
    ...
}

int[] anArray = new int[5];
int top = -1;
PushPeek(anArray, ref top);
  

Комментарии:

1. В конечном итоге это будет класс стека с функциями push pop и peek, и я предполагаю, что верхняя переменная будет постоянно меняться, не потребует ли это от меня использования get;?

2. То, что вы называете «получить; установить;», называется свойством. Но в вашем случае вам просто нужно, чтобы top было полем вашего класса (т.е. переменной класса).

3. Верно, но мне также нужно иметь возможность изменять его разными методами, затем вернуться к первому методу и использовать ту же переменную с обновленной переменной. Сработает ли это для него?

4. Должен ли я удалить void и вернуть top?

Ответ №2:

Все о свойствах: http://msdn.microsoft.com/en-us/library/aa288470 (v = против 71).aspx

Автоматически реализованные свойства — это потрясающе! http://msdn.microsoft.com/en-us/library/bb384054.aspx