title: Can't change struct's members value inside generic collections
body: <p>Imagine this <code>struct</code> :</p>
  
  <pre><code>        struct Person
          {
               public string FirstName { get; set; }
               public string LastName { get; set; }
          }
  </code></pre>
  
  <p>And following code :</p>
  
  <pre><code>        var list = new List&lt;Person&gt;();
          list.Add(new Person { FirstName = "F1", LastName = "L1" });
          list.Add(new Person { FirstName = "F2", LastName = "L2" });
          list.Add(new Person { FirstName = "F3", LastName = "L3" });
  
          // Can't modify the expression because it's not a variable
          list[1].FirstName = "F22";
  </code></pre>
  
  <p>When I want to change <code>Property</code>'s value it gives me the following error:</p>
  
  <pre><code>Can't modify the expression because it's not a variable
  </code></pre>
  
  <p>While, when I tried to change it inside an array such as <code>Person[]</code> it worked without any error.Is there any problem with my code when using with generic collections?</p>