title: Vb.net Property Get and set values without Private variables
body: <p>Greetins,</p>
  
  <p>I am programmer from some time only, I have certain doubts in fundamentals, could you please clarify on the following:
  Case 1:</p>
  
  <pre><code>Public Class BillItems
          Implements INotifyPropertyChanged
          Public Event PropertyChanged As PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
          Private Sub NotifyPropertyChanged(ByVal info As String)
              RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(info))
          End Sub
  
          Private _BillIdValue As String
  
  
          Property BillId As String
              Get
                  Return _BillIdValue
              End Get
              Set(ByVal value As String)
                  If Not _BillIdValue = value Then
                      _BillIdValue = value
                  End If
              End Set
          End Property
  End Class
  </code></pre>
  
  <p>Case 2:</p>
  
  <pre><code>Public Class BillItems
          Implements INotifyPropertyChanged
          Public Event PropertyChanged As PropertyChangedEventHandler Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged
          Private Sub NotifyPropertyChanged(ByVal info As String)
              RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(info))
          End Sub
  
  
          Property BillId As String
              Get
                  Return BillId
              End Get
              Set(ByVal value As String)
                  If Not BillId = value Then
                      BillId = value
                  End If
              End Set
          End Property
  End Case
  </code></pre>
  
  <p>Does case 1 and case 2 yield same result, I mean is a private value necessarily in there?, can we use property itself to use its own value in its Set and get statements?</p>
  
  <p>Thank you.</p>