我在 c#.net 中创建了一个名为“Exam”的类库中的类。在我的 Windows 窗体中,我创建了一个像“
static Exam obj= new Exam();
- 会发生什么?
- 我可以使用 new 运算符重新初始化此对象吗?
- 如果我重新初始化这个对象,是分配新内存还是使用相同的内存?
- 我怎样才能销毁这个对象,因为它是静态的,所以该对象在应用程序关闭之前都可用?
我在 c#.net 中创建了一个名为“Exam”的类库中的类。在我的 Windows 窗体中,我创建了一个像“
static Exam obj= new Exam();
当我们应该只允许为一个类(单例)创建一个实例时,我们将实际使用它。
说
public class Exam
{
private static Exam exam = null;
public string Id { get; set; }
public static Exam getInstance()
{
if (exam == null)
{
exam = new Exam();
exam.Id = IdGenerator.GenerateId();
}
return exam;
}
}
//呼叫者
Exam exam = Exam.getInstance();
Console.WriteLine(exam.Id);
Exam exam2 = Exam.getInstance();
Console.WriteLine(exam2.Id);
//尽管您创建了两个实例,但请检查两者的 ID .. 它们看起来相似。
//此实例将在应用程序退出之前可用。
希望这能回答你的问题