C# 如何定义一个可以在任何地方使用的变量?

C# 如何定义一个可以在任何地方使用的变量?,c#,C#,如何在C#中定义一个可以在程序中任何地方使用的变量。公共类全局变量 { 公共静态int-SomeVar; } 但这通常是一个坏主意Web.Config或App.Config——只要您真的只想在任何地方使用该值。e、 g 请尝试查看“项目属性”中的“设置”页面。然后,您可以使用: Properties.Settings.Default.(Whatever variable you want to access) 请记住,这更多地用于程序设置,但它可以在必要时工作。全局只读变量通常使用静态公共

如何在C#中定义一个可以在程序中任何地方使用的变量。

公共类全局变量 { 公共静态int-SomeVar; }

但这通常是一个坏主意

Web.Config或App.Config——只要您真的只想在任何地方使用该值。e、 g



请尝试查看“项目属性”中的“设置”页面。然后,您可以使用:

Properties.Settings.Default.(Whatever variable you want to access)

请记住,这更多地用于程序设置,但它可以在必要时工作。

全局只读变量通常使用静态公共属性完成

class Glo
{
    private int _n;
    public int n
    {
        get
        {
            return _n;
        }
    }
}

至少,全球化通常造成的问题有一半会消失。对_n的赋值在Glo类中以某种方式完成。

如果
复选框1\u CheckedChanged
按钮1\u Click\u 1
都在同一类中(如果它们都在同一个控件/窗口中),则您可以声明一个模块(类)级别变量:

public class MyClass
{
    private string _myString = null;

    private void checkBox1_CheckedChanged(object sender, System.EventArgs e)
    {
        _myString = "some value";
    }

    private void button1_Click_1(object sender, System.EventArgs e)
    {
        //you can now use _myString in this function
    }
}

当您的问题谈到使用全局变量时,根据您的后续评论,它实际上并不是您所需要的-您只需要一个在同一类中的函数之间可见的变量。

Ehh?你的问题标题与问题正文不匹配,我不知道什么是“私人空白”,你想解决什么问题?实际上,您要求生成一个全局变量(基于问题主体),这通常不是一个好主意。@silico:是的,我指的是一个全局变量。@Iman Hejazi:您试图解决的问题是什么,使您认为全局变量是一个可接受的解决方案?这几乎从来都不是一个好主意,因为它使代码更难维护和调试。@silico:I在
private void checkBox1\u CheckedChanged(object sender,System.EventArgs e)
中定义了一个字符串,我想在
private void button1\u Click\u 1(object sender,System.EventArgs e)中使用它的值
但系统无法在第二个字符串中识别该字符串。我支持全局变量通常不是一个好主意的观点。用户注意!
public class MyClass
{
    private string _myString = null;

    private void checkBox1_CheckedChanged(object sender, System.EventArgs e)
    {
        _myString = "some value";
    }

    private void button1_Click_1(object sender, System.EventArgs e)
    {
        //you can now use _myString in this function
    }
}