变量List实例化和Clear的区别
关键看黄色背景处的代码,原来的程序是 valuename.clear();
您知道会出现什么情况吗? 为什么呢?
valuename 是引用类型对象,industryList.Add之后 valuename.clear ,industryList的value为空。
而valuename 重新实例化之后,就是一个新对象
string keyName = string.Empty;
List<string> valueName =new List<string>();
foreach (DataRow row in dt.Rows)
{
string tempkey = row["Name"].ToString();
string tempvalue = row["SonName"].ToString();
if (keyName != tempkey&&valueName.Count > 0)
{
industryList.Add(keyName, valueName);
valueName = new List<string>();
}
keyName = tempkey;
valueName.Add(tempvalue);
}
if (valueName.Count > 0)
{
industryList.Add(keyName, valueName);
}
喜欢技术、热爱生活。