我无法在C#的类构造函数中声明私有变量。当我试图声明一个私有的DateTime变量时,我遇到了这个问题。这是我遇到这个问题时的代码:
namespace FirstCSApp
{
public class MyStopWatch
{
public MyStopWatch()
{
private DateTime _start = new DateTime();
}
}
}
VS给了我两个错误:
1)在开始大括号后,我收到错误“ expected} ”和,2)在最后一个大括号,我收到一个错误,上面写着“类型或命名空间定义,或者期望文件结尾”
我解决问题的方法是声明变量在构造函数外部,然后在构造函数中初始化它。但是,我仍然不明白为什么我无法在构造函数中声明和初始化私有变量,而声明没有public / private修饰符的变量就可以了。
答案 0 :(得分:2)
我仍然不明白为什么我无法在构造函数中声明和初始化私有变量,而声明没有public / private修饰符的变量就可以了。
因为声明了一个"变量"使用公共/私有修饰符外部方法和构造函数创建字段,与局部变量不同,这是在方法内部声明变量时获得的结果构造
答案 1 :(得分:1)
但是,我仍然不明白为什么我无法在构造函数中声明和初始化私有变量,而声明没有public / private修饰符的变量就可以了。
这就是编写C#规范的方式。无法在类方法或构造函数中声明类级实例变量(公共或私有)。
查看MSDN documentation以了解有关C#类的讨论。
答案 2 :(得分:0)
您需要阅读变量范围。如果你打算分享"分享"如果将此变量与类的其他方法一起使用,则必须在类范围内声明该变量。
在METHOD类中声明的任何变量只能从该方法中访问。