将var重置为原始状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将var重置为原始状态相关的知识,希望对你有一定的参考价值。

不确定如何解释这种情况,所以我将在使用示例的同时尽力而为。

所以我有一个主班,

Main.cs


//Code

class Main 
    public Run() 
        while(true)
        
            Minor start = new Minor();
            start.Run();
        
    

次要班级,

Minor.cs

//Code

class Minor 
    public Run() 
        Test.hi += 1;
        Console.WriteLine(Test.hi);
    

测试类,

Test.cs

//Code

class Test 
    public int hi = 0;

在运行上面的示例时,每个循环都会增加Time.cs中的整数。所以输出将是3次运行。

1
2
3

但是,如果我将public int hi = 0放置在Minor.cs中,如下所示

Minor.cs

//Code

class Minor 

    public int hi = 0;

    public Run() 
        hi += 1;
        Console.WriteLine(Test.hi);
    


由于每个循环都会创建一个Minor的新实例,因此输出始终为1。现在我知道我可以在Test.cs内简单地创建一个Minor.cs的新实例,但是我有多个变量/ integers / strings在循环期间被修改,但是在下一个循环中需要为默认值。

是否可以通过编程方式将所有类复位为除Main.cs之外的默认状态,还是可以将所有其他classes继承为Minor.cs,以便在创建Minor.cs的新实例时,那些实例也是吗?

答案

我可能会误解您的约束,但是如果您想重置一个类中的所有变量,我会考虑向该类添加Reset()方法,该方法就是这样:将所有属性一一设置为默认值。

另一答案

正如您自己说的那样,解决方案是创建一个新的Test对象。

public Run() 
        var test = new Test():
        Console.WriteLine(Test.hi);// I'm assuming this should be  'test.hi'
    

以上是关于将var重置为原始状态的主要内容,如果未能解决你的问题,请参考以下文章

Swift - UIBarButtonItem.customView - 重置为原始状态

React 子组件在父组件中更新状态后如何将其重置回原始状态

退出路径后,状态被重置

在 React 中重置组件的状态

重置块颤动中的事件和状态

在 setContentId() 之后将占位符返回到其“空”状态