спасибо, что помогли с множеством проблем кодирования в прошлом, но я наткнулся на еще одну. Мне действительно нужны некоторые указания по этому вопросу.
В приведенном ниже сценарии я пытаюсь изменить значение b
, когда met1, met2 and met3
вызывается в функции Main
.
class Class3
{
public class Storage
{
public static int a = 100;
public static int b = a + 5;
}
public static void Main()
{
Methods Test = new Methods();
Console.WriteLine("Original a value: {0}", Storage.a);
Console.WriteLine("b value: {0}", Storage.b);
Test.Met1();
Console.WriteLine("After met1: {0}", Storage.a);
Console.WriteLine("b value: {0}", Storage.b);
Test.Met2();
Console.WriteLine("After met2: {0}", Storage.a);
Console.WriteLine("b value: {0}", Storage.b);
Test.Met3();
Console.WriteLine("After met3: {0}", Storage.a);
Console.WriteLine("b value: {0}", Storage.b);
}
public class Methods
{
public void Met1()
{
Storage.a -= 10;
}
public void Met2()
{
Storage.a -= 10;
}
public void Met3()
{
Console.WriteLine("{0}", Storage.a);
Met1();
Met2();
if (Storage.a > 10)
{
Met3();
}
}
}
}
Из моего кода выше значение b
остается равным 105, хотя значение a
изменяется. Из того, что я могу сказать, переменная b
не была вызвана снова для изменения ее значения.
Должен ли я поместить переменную b в качестве метода и вызвать его? Это всего лишь пример, который я сделал, и у меня есть более 50 формул, которые требуют изменений при изменении одной из переменных в формуле. Я не думаю, что создание более 50 методов является хорошей идеей, так как должен быть лучший способ кодирования этого.
Спасибо!