明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1023|回复: 1

[基础] ArrayList.add(tmp)循环之后怎么清空临时变量tmp

[复制链接]
发表于 2015-9-20 18:52 | 显示全部楼层 |阅读模式
ArrayList.add(tmp)循环之后怎么清空临时变量tmp,而不清空结果对象。
  1. rb = {((5016,-1)(5016,-1)(5005,KL41(9) 500x900)(5005,1)(5017,-1)(5016,-1)(5005,KL42(1) 300x800)(5005,1)(5017,-1)(5016,-1)(5005,KL43(2) 500x900)(5005,1)(5017,-1)(5017,-1))}
复制代码
list结果,怎么会是都为最后一项{(KL43(2) 500x900,1) (KL43(2) 500x900,1) (KL43(2) 500x900,1)}

  1.      //获取双重表值为ArrayList
  2.         public static ArrayList GetLispSymList2(ResultBuffer rb)
  3.         {
  4.             if (rb != null)
  5.             {
  6.                 ArrayList list = new ArrayList();
  7.                 ArrayList sub = new ArrayList();
  8.                 foreach (TypedValue v in (System.Collections.IEnumerable)rb)
  9.                 {
  10.                     //LispBegin 5016 ListEnd 5017
  11.                     if (v.TypeCode == 5016)
  12.                     {
  13.                         sub.Clear();
  14.                     }
  15.                     else if (v.TypeCode == 5017)
  16.                     {
  17.                         list.Add(sub);
  18.                     }
  19.                     else
  20.                     {
  21.                         sub.Add(v.Value);
  22.                     }
  23.                 }
  24.                 return list;
  25.             }
  26.             else
  27.             {
  28.                 return null;
  29.             }
  30.         }




 楼主| 发表于 2015-9-21 09:39 | 显示全部楼层
摸不着头脑,最后,这么搞,成功了

list.Add(((ArrayList)sub.Clone()));
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-4-27 18:02 , Processed in 0.381483 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表