title: How should I prefix my variables with the same name?
body: <p>I'm creating a <a href="http://en.wikipedia.org/wiki/Windows_Forms" rel="nofollow">Windows Forms</a> based application in C#. My form's constructor takes parameter <code>string title</code>, and it then saves that value to <code>string this.Title</code> attribute, and finally I create a windows label <code>Label this.Title</code>.</p>
  
  <p>The problem is obvious: My <code>Label</code> and <code>string</code> have the same name, and I'm curious about naming conventions in C#. What should I do?</p>
  
  <p>Here's the full code:</p>
  
  <pre><code>// BNForm.cs
  public partial class BNForm : Form
  {
      public string Title;
  
      public BNForm(string title)
      {
          this.Title = title;
          InitControls();
      }
  }
  
  // BNForm.Designer.cs
  partial class BNForm
  {
      private Label Title;
  
      private InitControls()
      {
          this.Title = new Label();
          this.Title.Text = this.Title; // Trying to access the string here
          this.Title.AutoSize = true;
          this.Title.Location = new Point(15, 15);
          this.Controls.Add(this.Title); // Trying to access the Label here
      }
  }
  </code></pre>
  
  <p>I first called my label variable <code>label_Title</code>, but later I have to add a new variable: <code>Button[] Buttons</code> which should then be called <code>buttonArray_Buttons</code>, which sounds stupid to me.</p>
  
  <p>What should I name my variables? Is there even a rule for this kind of naming?</p>