这2个代码部分是否相同?

Sam*_*yan 2 c# .net-3.5

摘录:

 private double memberVal;   
 public double MemberVal   
 {   
  get { return memberVal; }   
  set { memberVal= value; }   
 }
Run Code Online (Sandbox Code Playgroud)

public double MemberVal   
 {    
  get; set;  
 }
Run Code Online (Sandbox Code Playgroud)

Mat*_*att 13

几乎.在第二个示例中,MemberVal不可公开访问.


Bin*_*ier 5

不,但现在他们是一样的

private double memberVal;
public double MemberVal
{
    get { return memberVal; }
    set { memberVal= value; }
} 
Run Code Online (Sandbox Code Playgroud)

public double MemberVal
{
get; set;
}
Run Code Online (Sandbox Code Playgroud)

更新 除了 - 正如JohannesRössel所指出的那样 - 您可以在第一种情况下从代码访问该字段,但不能在后者中访问:-) -

这意味着在第一个代码示例中,您可以在类中直接设置属性的后备成员(private double memberVal1例如,memberVal = 1.1;),在第二个中,仍然有属性的私有后备成员,但它现在是不可见的.
您只能通过酒店进入.

  • 除了您可以在第一种情况下从代码访问该字段,但不能在后者中访问:-) (2认同)