变量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);
}
posted @ 2011-07-04 16:49  翔宇编程  阅读(902)  评论(0编辑  收藏  举报
51CTO