title: Dictionary<string, List<string>> has all values same as that of the last entered value
body: <p>I am having a dictionary of string as key and List as value.</p>
  
  <p>And adding the entry in the following manner:-</p>
  
  <pre><code>allDDLs = new Dictionary&lt;string, List&lt;string&gt;&gt;();
  List&lt;string&gt; temp;
  temp = ddlData.get("INV_DDL_Access_Mechanism", "Type");
  allDDLs.Add("Access_Mechanism", temp);
  temp = ddlData.get("INV_DDL_Application_Operating_System", "OS_Name");
  </code></pre>
  
  <p>Like this, there are 18 entries. But when I debugged the code, I found that all the values are same as that of the last entered value. But the keys are fine.</p>
  
  <p>For example, when I get the value for "INV_DDL_Access_Mechanism", I get the value same as that of for "INV_DDL_Application_Operating_System".</p>
  
  <p>I don't know what is wrong with it. Any help would be appreciated. :-)</p>
  
  <p>Thanks in advance!</p>
  
  <p><strong>EDIT 1:</strong>
  Code for accessing the Dictionary values:</p>
  
  <pre><code>List&lt;string&gt; listOfColumns = allDDLs.Keys.ToList&lt;string&gt;();
  
  
  for(int i = 0; i &lt; listOfColumns.Count(); ++i) {
       string columnName = listOfColumns[i].ToString();
       List&lt;string&gt; tempDDL = new List&lt;string&gt;();
       tempDDL = allDDLs[columnName];
       List&lt;string&gt; columnValues = DataColumnToList(columnName, excelDataSet.Tables[0]);
       for (int j = 0; j &lt; columnValues.Count(); ++j ) {
            if (!tempDDL.Contains(columnValues[j])) {
                errorReport.Rows[j][columnName.ToString()] = columnValues[j].ToString() + "LOLOLOL";
            }
       }        
  }
  </code></pre>
  
  <p><strong>Edit 2:</strong>
  Code of "get" method.</p>
  
  <pre><code>public List&lt;string&gt; get(string tableName, string parameter) {
          ds.Clear();
          valuesForDDL.Clear();
          ds = objDatabase.ByText("Select distinct " + parameter + " from " + tableName + " where Del_Status = 'Available'");
          foreach (DataRow row in ds.Tables[0].Rows) {
              valuesForDDL.Add(row.ItemArray[0].ToString());
          }
          return valuesForDDL;
  }
  </code></pre>