title: Why C# Struct behave different as property? (compare to declared as field)
body: <p>I understand struct is value type. But I do not understand why it behave like this?
  Is it because i didn't treat it as immutable? or is it has something to do with the auto property?</p>
  
  <pre><code>using System;
  
  namespace StructQuestion
  {
      class Program
      {
          static StructType structAsProperty { get; set; }
          static StructType structAsField;
  
  
          static void Main(string[] args)
          {
              structAsProperty.InjectValue("structAsProperty");
              structAsField.InjectValue("structAsField");
  
              //debugger says structAsProperty.GetValue() is null
              Console.WriteLine(structAsProperty.GetValue());
              Console.WriteLine(structAsField.GetValue());
  
              Console.ReadLine();
          }
      }
  
      public struct StructType
      {
          private string value;
          public void InjectValue(string _value)
          {
              value = _value;
          }
          public string GetValue()
          {
              return value;
          }
      }
  }
  </code></pre>