【发布时间】:2019-10-24 09:43:05
【问题描述】:
感谢您在过去帮助解决多个编码问题,但我偶然发现了一个。我真的需要一些指导。
在下面的脚本中,当met1, met2 and met3 在Main 函数中被调用时,我试图更改b 的值。
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 多个方法是一个好主意,因为应该有更好的编码方式。
谢谢!
【问题讨论】: