title: C# appending values to string[] doesn't work
body: <p>So I'm trying to append values to a list (in Json []), that's empty or has items in it. So I check wether the list in the object has items in it or not, if the item doesn't exist, then it creates a new item, if it exists, it rewrites it's value. Here is the code:</p>
  
  <pre><code>if (e.Key == Key.Enter)
  {
      // When the user pressed enter, do action
      Team selected_team = teams.Where(t =&gt; t.team_number == Convert.ToInt32(inp_team_number.Text)).FirstOrDefault();
  
      if (selected_team != null)
      {
          // when the team number is given, go try and find the data of them
          Results team_results = results.Where(r =&gt; r.team_number == Convert.ToInt32(inp_team_number.Text)).FirstOrDefault();
  
          int index = (Convert.ToInt32(gtk_input.Name.Substring(gtk_input.Name.Length - 1)) - 1);
  
          // Check if the item in the list exists
          if (index &lt; team_results.results[inp_tour_part.SelectedIndex].gtks.Length &amp;&amp; team_results.results[inp_tour_part.SelectedIndex].gtks[index] != null)
          {
              if (regexColon.Match(gtk_input.Text).Success == true)
              {
                  team_results.results[inp_tour_part.SelectedIndex].gtks[(Convert.ToInt32(gtk_input.Name.Substring(gtk_input.Name.Length - 1)) - 1)] = gtk_input.Text; // Give the new value
              }
              else
              {
                  MessageBox.Show("Wrong value.", "An error occured", MessageBoxButton.OK, MessageBoxImage.Warning);
                  team_results.results[inp_tour_part.SelectedIndex].gtks[(Convert.ToInt32(gtk_input.Name.Substring(gtk_input.Name.Length - 1)) - 1)] = "00:00"; // Give the default value
              }
          }
          else
          {
              if (regexColon.Match(gtk_input.Text).Success == true)
              {
                  team_results.results[inp_tour_part.SelectedIndex].gtks.Append(gtk_input.Text); // Give the new value
              }
              else
              {
                  MessageBox.Show("Wrong value.", "An error occured", MessageBoxButton.OK, MessageBoxImage.Warning);
                  team_results.results[inp_tour_part.SelectedIndex].gtks.Append("00:00"); // Give the default value
              }
          }
  
          SaveResults(results);
          // Move to the next UI element
          MoveToNextUIElement(e);
      }
      else
      {
          MessageBox.Show("Something went somewhere wrong.", "An error occured", MessageBoxButton.OK, MessageBoxImage.Warning);
      }
  }
  </code></pre>
  
  <p>Now, it works fine to rewrite the items, but when the list is empty (default) or when the item doesn't exist, and it needs to add/append the new value, it doesn't crahs and doesn't throw any error... Also it doesn't add the value to my json, now when I initialize the new object for this, it looks like the following:</p>
  
  <pre><code>team_results = new Results()
  {
      team_number = selected_team.team_number,
      results = new Result[2] { new Result{ }, new Result { } } // Fixed length of array for the results. TODO: Needs fix.
  };
  </code></pre>
  
  <p>And the model looks like this:</p>
  
  <pre><code>namespace RittensportRekenSoftware.Models
  {
      public class Results
      {
          public int team_number { get; set; }
          public Result[] results { get; set; }
      }
  
      public class Result
      {
          public string given_start_time { get; set; }
          public string connection_to_start { get; set; }
          public string start_kp { get; set; }
          public string stop_kp { get; set; }
          public int missed_controls { get; set; }
          public float km { get; set; }
          public string[] gtks { get; set; }
      }
  }
  </code></pre>
  
  <p>Now I just need a list of strings in my json, but I don't have any clue on how to achieve this...</p>