title: argument 1 & argument cannot convert 'string' to 'string[]'
body: <p>For some reason, the only compile error I have in my C# code is "[argument 1] (&amp; argument 2) Cannot convert from "string" to "string[]"", in reference to <code>allDeliveries.Add(Delivery.newDelivery(trimmedKeys[i], values[i]));</code>. However, the only strings defined within my code are the properties on delivery, which aren't returned and are also private. Since there aren't any strings defined in my program, only string arrays, I'm not sure where this could be coming from.</p>
  
  <pre><code>public static List&lt;Delivery&gt; parseKey(string[] placeHolder, string[] keys)
      {
          List&lt;Delivery&gt; allDeliveries = new List&lt;Delivery&gt;();
          string[] trimmedKeys = new string[keys.Length];
          string[] values = new string[placeHolder.Length];
          for (int i = 0; i &lt; keys.Length; i++)
          {
              trimmedKeys[i] = keys[i].Trim();
              values[i] = placeHolder[i];
              Delivery delivery = new Delivery();
              allDeliveries.Add(Delivery.newDelivery(trimmedKeys[i], values[i]));
          }
          return allDeliveries;
      }
  </code></pre>
  
  <p>My entire program's code is: </p>
  
  <pre><code>    static void Main(string[] args)
      {
          List&lt;Delivery&gt; deliveries = new List&lt;Delivery&gt;();
          string[] doesntwork = new string[5];
          Delivery thing = new Delivery()
          thing = Delivery.newDelivery(doesntwork, doesntwork);
          deliveries = Parse.parseDeliveries(@"C:\Users\owner\Documents\Visual Studio 2015\TIY\Week-1-Day-4\planet_express_logs.csv");
          Delivery Delivery1 = deliveries[1];
          Console.WriteLine(deliveries.Count);
          Console.ReadLine();
  
      }
  }
  public class Delivery
  {
  
  
  
  
      private String destination { get; set; }
      private String itemDelivered { get; set; }
      private String pilot { get; set; }
      private int numberOfCrates;
      private double moneyMade { get; set; }
      private DateTime orderCreatedOn { get; set; }
  
      //public int numberOfCrates
      //{
      //    get { return _numberOfCrates; }
      //    set { this.numberOfCrates = value; }
      //}
  
  
      public static Delivery newDelivery(string[] keys, string[] values)
      {
          Delivery aDelivery = new Delivery();
          for (int i = 0; i &lt; keys.Length; i++)
          {
              if (keys[i].ToLower() == "what got shipped")
                  aDelivery.itemDelivered = values[i];
              if (keys[i].ToLower() == "number of crates")
                  aDelivery.numberOfCrates = Convert.ToInt32(values[i]);
              if (keys[i].ToLower() == "money we made")
                  aDelivery.moneyMade = Convert.ToDouble(values[i]);
              if (keys[i].ToLower() == "order created on")
                  aDelivery.orderCreatedOn = Convert.ToDateTime(values[i]);
              if (keys[i].ToLower() == "destination")
              {
                  aDelivery.destination = keys[i];
                  if (keys[i].ToLower() == "earth")
                  {
                      aDelivery.pilot = "Fry";
                      continue;
                  }
                  if (keys[i].ToLower() == "mars")
                  {
                      aDelivery.pilot = "Amy";
                      continue;
                  }
                  if (keys[i].ToLower() == "uranus")
                  {
                      aDelivery.pilot = "Bender";
                      continue;
                  }
                  else
                      aDelivery.pilot = "Leela";
              }
          }
          Console.WriteLine("{0} {1} {2} {3}", aDelivery.destination, aDelivery.numberOfCrates, aDelivery.moneyMade, aDelivery.itemDelivered);
          return aDelivery;
  
      }
      // use this to print out data
      // implement class and inheritance
      // pilots and their deliveries
  
  }
  
  public class Parse // change to private and enable strings
  { // keep all parsing things in here
      public static List&lt;Delivery&gt; parseDeliveries(string file)
      {
          bool firstLine = true;
          List&lt;Delivery&gt; allDeliveries = new List&lt;Delivery&gt;();
          string[] fileContents = System.IO.File.ReadAllLines(@file);
          string[] keys = new string[fileContents.Length], values = new string[fileContents.Length];
          foreach (String line in fileContents)
          {
              if (firstLine)
              {
                  keys = line.Split(',');
                  firstLine = false;
                  continue;
              }
              values = line.Split(',');
              allDeliveries.AddRange(parseKey(keys, values));
          }
          return allDeliveries;
      }
  
      public static List&lt;Delivery&gt; parseKey(string[] placeHolder, string[] keys)
      {
          List&lt;Delivery&gt; allDeliveries = new List&lt;Delivery&gt;();
          string[] trimmedKeys = new string[keys.Length];
          string[] values = new string[placeHolder.Length];
          for (int i = 0; i &lt; keys.Length; i++)
          {
              trimmedKeys[i] = keys[i].Trim();
              values[i] = placeHolder[i];
              Delivery delivery = new Delivery();
              allDeliveries.Add(Delivery.newDelivery(trimmedKeys[i], values[i]));
          }
          return allDeliveries;
      }
  }
  </code></pre>
  
  <p>}</p>