title: Understanding class level variable usage in Multi-Threading C#
body: <p>I want to know the consequence of using a class level variable across different functions in a multi-threaded app.</p>
  
  <p>I am creating a class variable and sharing it across get and set function. 
  The variable is bound to have a value like : </p>
  
  <pre><code>"testuser-2.3" {username-projectversion}
  </code></pre>
  
  <p>Code:</p>
  
  <pre><code>class Test()
  {
      private string key;
  
  public Get(string something)
  {
      key = setToSOmething();
  }
  
  public Set(string something)
  {
      key = setToSOmething();
  }
  
  }
  </code></pre>
  
  <p>Is this code prone to fail in multithreaded environments? Like if two users are accessing diffrent versions of the project, will the "key" value will be diffrent at any random given point?
  Thanks in advance.</p>