This question already has answers here:
What's the difference between encapsulating a private member as a property and defining a property without a private member?
                                
                                    (5个答案)
                                
                        
                                3年前关闭。
            
                    
我在面试中遇到了这个问题,定义了Class中的属性。我知道这是一个非常基本的问题,但想在这里与专家讨论。

Method 1:
       public string MyProperty { get; set; }

Method 2:
       private string _myProperty;
       public string MyProperty
       {
           get
           {
               return _myProperty;
           }
           set
           {
               _myProperty = value;
           }
       }


就需要在Method2中声明的额外变量而言,这样做的性能会更好。

最佳答案

两种方法都使用相同数量的变量,在第一个版本中,额外的变量仅由编译器隐藏,如果对代码进行反编译,您会发现它也使用了变量。

关于c# - 在C#中用这两种方法定义属性有何区别? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37494507/

10-11 04:52