如何声明变量以供全局使用
我搜索了类似问题的论坛,据我所知,要避免全局变量。 对我来说这不合逻辑,因为我是编程新手。 如果我已经正确地理解了这一切,那么静态变量应该可以完成我正在寻找的工作。
我在主窗口中创建了四个选项的combobox,当选择combobox时,声明变量b。 这是在private void SelectionChanged.
当选择combobox声明变量b时,弹出用户控件。 我想在我的程序中进一步使用变量b,但我无法访问它。 我试图声明static int b;
在代码的开头,但我不确定我是否理解正确使用静态变量。 有人可以帮帮我吗?
除非您100%确定您的解决方案没有其他地址,否则请避免使用全局变量和static
关键字(有时您可能会被迫使用静态代码热修复程序中的静态)。
- 静态/全局变量使代码耦合紧密
- 打破OOD原则(通常是dependency injection,单一责任原则)
- 不像许多人想的那样简单的类型初始化过程
- 有时无法通过unit testing来覆盖代码或打破ATRIP原则以进行良好测试(隔离原则)
所以建议:
- 首先要理解问题,根源,你将要实现的目标
- 检查您的设计
你可以做这个insted
App.Current.Properties["valueTobestored"] = valueTobestored;
后来就像访问它一样
string mystoredValue = Convert.ToString(App.Current.Properties["valueTobestored"]);
要创建“全局变量”,它应该是public和static ,并在公共 静态类中声明。 在.NET中,它是声明常量的常用方法(例如Math.PI),但它们不是变量 !
public static class EveryoneCanSeeMe { public static object EveryOneCanModifyMe; }
非公共变量仅在声明它们的类或方法中可见。
ps:使用全局变量非常糟糕。
可以创建供全局使用的变量。 只需创建静态字段或属性:
public static class YourStorage { public static object Storage1; public static string StringStorage; }
无论您想要什么,您都可以从该存储设置或获取值:
上述就是C#学习教程:如何声明变量以供全局使用分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
public class AnotherClass { private void GetDataFromStorage() { string getValue=YourStorage.StringStorage; } private void SetDataFromStorage() { YourStorage.StringStorage="new value"; } }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1000274.html