如何声明每个方法都可以使用的变量? | 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#的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Main 方法中声明静态变量?

java分享第二天

如何在一组对象中查找特定值?

显式声明和隐式声明都是啥时候用?该用哪一个?

ios 开发,类方法中怎么样访问成员变量

java数组