#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