C#循环嵌套的优化,坐等!急急急!!! 本帖最后由 yuanzhouting 于 2013-03-22 12:13:32 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 string addtemp = hashTable[hashItem].ToString(); string[] addList = 循环内,不要定义变量定义在循环外,内部只操作变量 . foreach(object hashItem in new ArrayList(hashTable.Keys)) { if(hashItem.Equals(partreference)) { string addtemp = hashTable[hashItem].ToString();这个循环可以去掉,直接判断hash表是否有这个键就行了,hash表的键不可能有重复的吧if(hashTable.Contains(hashItem)){ string addtemp = hashTable[hashItem].ToString();}还有很多地方可优化,等下贴一份改过代码给你 写错个变量名,应该是:if(hashTable.Contains(partreference)){ string addtemp = hashTable[partreference].ToString();} Hashtable resultHashTable = (Hashtable)hashTable.Clone();//拷贝一个副本,避免直接修改传入的哈希表核心循环中更改这个副本哈希表: resultHashTable[partrefence] = ""; //I do foreach (string colTemp in alist) { resultHashTable[partrefence] += colTemp + "\r\n"; //I do } 最后直接返回这个副本哈希表return resultHashTable; 哈希找Key是O(1)的,List 查找是O(N)的,多利用这个特性。不知道大欧记法吗?书读的少了吧。 foreach(object hashItem in new ArrayList(hashTable.Keys)) { if(hashItem.Equals(partreference)) {这个比较是没必要的,因为你有了哈希这段程序写的很糊涂 c# 线程和progressbar的一个问题 C#自动完成代码怎么用 中学 问题 能不能通过字符串传递函数名称动态调用指定的函数 音频的小问题 C#调用插件的问题!!!! C#中一个非常奇怪的问题,请朋友们指点! 【求助】怎么把集合里面的数据导入到sqlserver数据库中啊 jquery + C# + ajax 提交保存? C#修改xml节点的名称 ><a 关于页面中点击上面 li跳转新页面的问题,需要隐藏gridview显示在当前页面gridview的位置,急!!!! 枚举类型这样定义大家看看可以不
string[] addList =
循环内,不要定义变量定义在循环外,内部只操作变量 .
{
if(hashItem.Equals(partreference))
{
string addtemp = hashTable[hashItem].ToString();这个循环可以去掉,直接判断hash表是否有这个键就行了,hash表的键不可能有重复的吧if(hashTable.Contains(hashItem))
{
string addtemp = hashTable[hashItem].ToString();
}
还有很多地方可优化,等下贴一份改过代码给你
if(hashTable.Contains(partreference))
{
string addtemp = hashTable[partreference].ToString();
}
foreach (string colTemp in alist)
{
resultHashTable[partrefence] += colTemp + "\r\n"; //I do
}
最后直接返回这个副本哈希表
return resultHashTable;
不知道大欧记法吗?书读的少了吧。 foreach(object hashItem in new ArrayList(hashTable.Keys))
{
if(hashItem.Equals(partreference))
{
这个比较是没必要的,因为你有了哈希这段程序写的很糊涂