如何声明每个方法都可以使用的变量? | C#
Posted
技术标签:
【中文标题】如何声明每个方法都可以使用的变量? | C#【英文标题】:How to declare a variable that can be used by every method? | C# 【发布时间】:2016-11-10 15:33:04 【问题描述】:我想问你如何声明一个每个方法都可以使用的变量?
我尝试将方法的访问类型设为公开,但这并没有让我在其他方法中使用它的变量
此外,我基本上想通过不同的方法累积具有不同值的变量,这就是我问这个的原因。
注意:我想避免制作任何静态类。
编辑:
例如,我做过
public decimal MiscMethod()
decimal value1 += 23m;
public decimal AutoMethod()
decimal value 1 += 34;
【问题讨论】:
请向我们展示您的尝试(作为minimal reproducible example)以及发生了什么。 你听说过全局变量和静态变量吗 @JonSkeet 我更新了问题。 【参考方案1】:你的意思是这样的吗?
class Program
static void Main(string[] args)
var myClass = new MyClass();
myClass.Print(); //Output: Hello
myClass.SetVariable();
myClass.Print(); //Output: Test
class MyClass
string MyGlobaleVariable = "Hello"; //my global variable
public void SetVariable()
MyGlobaleVariable = "Test";
public void Print()
Console.WriteLine(MyGlobaleVariable);
用你的例子:
decimal value1 = 0;
public decimal MiscMethod()
value1 += 23m;
public decimal AutoMethod()
value1 += 34;
【讨论】:
谢谢,但由于我们尚未阅读,因此我们不允许从事此工作。兄弟还有别的办法吗? @Ninja:你的意思是你只被教过如何声明局部变量?如果是这样,那么不,您将无法使其正常工作。局部变量的意义在于它只在该方法调用期间存在。 @JonSkeet 我假设它是静态类,但我认为这绝对是我需要的。只需将变量放在任何其他方法之上 :) 谢谢大家 @Ninja:静态类完全不同。我认为现在是学习基本 C# 教程的好时机 - 了解不同类型的变量声明的工作原理非常重要。 @Ninja:我还不会从 C# 开始——我可能会从 C# in a Nutshell 或 HeadFirst C# 开始(确保你获得了最新版本)。 C# in Depth 更适合那些已经熟悉该语言基础知识的人。【参考方案2】:像全局变量一样使用它,但确保在每个方法中使用它后都需要使值无效,因为这不会使值与其他方法相矛盾。
decimal value1;
public decimal MiscMethod()
value1 += 23m;
//Complete your code using value1
value1 = 0;
public decimal AutoMethod()
value 1 += 34;
//Complete your code using value1
value1 = 0;
【讨论】:
这不是类变量的使用方式。不需要使变量无效,因为对变量进行操作的方法很有用。以上是关于如何声明每个方法都可以使用的变量? | C#的主要内容,如果未能解决你的问题,请参考以下文章