标题:如何将一个对象从一个list转移到另一个list中
只看楼主
xdragon88
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-6-29
结帖率:100%
已结贴  问题点数:10 回复次数:5 
如何将一个对象从一个list转移到另一个list中
例如:
程序代码:
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList peolist1=new ArrayList();             //list1
            ArrayList peolist2=new ArrayList();             //list2
            People peo = new People();                      //people对象
            peo.ID = 1;
            peolist1.Add(peo);                              //添加到list1中
            peo.Move(peolist1, peolist2);                   //移动到list2中???
        }
    }

    //People的类,
    public class People
    {
        public int ID;

        /// <summary>
        /// 将people对象从list1移到list2中
        /// 删除list1中的对象
        /// </summary>
        /// <param name="list1"></param>所在list
        /// <param name="list2"></param>目标list
        public  void Move(ArrayList list1,ArrayList list2)
        {
            /////////////
            //如何实现!!!!???
            /////////////

        }
       
    }
请高手指点一二,拜谢!!!
搜索更多相关主题的帖子: 如何 
2011-07-30 12:20
张涤萍
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:5
专家分:3
注 册:2011-7-16
得分:3 
你是不是选择一个就移动一个呢,还是批量的移动,
list2.add(list[索引]);
list1.RemoveAt(索引);
这个顺序不能反的,不然报错
2011-07-31 13:15
heliyi
Rank: 4
来 自:安徽省黄册市
等 级:业余侠客
帖 子:44
专家分:260
注 册:2011-7-29
得分:3 
foreach people in list1
{
    if(!list2.Contains(people))
        list2.Add(people)
}
2011-07-31 23:56
贾丹丹
Rank: 2
等 级:论坛游民
帖 子:19
专家分:25
注 册:2011-7-27
得分:3 
list2.Add(list1);
可以这样吗?
2011-08-01 09:47
xdragon88
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-6-29
得分:0 
谢谢各位了,我想要的效果是这样的,可能没有提问清楚。
程序代码:
class Program
    {
         static void Main(string[] args)
        {
            Node node1 = new Node();
            node1.pedList=new ArrayList();

            Node node2 = new Node();
            node2.pedList = new ArrayList();

            People people = new People();
            people.start = node1;
            people.end = node2;

            node1.pedList.Add(people);
            Console.WriteLine("node1中人数{0}",node1.pedList.Count);
            Console.WriteLine("node2中人数{0}",node2.pedList.Count);
            for (int t = 0; t < node1.pedList.Count; t++)
            {
                ((People)node1.pedList[t]).Move();
            }
            Console.WriteLine("node1中人数{0}", node1.pedList.Count);
            Console.WriteLine("node2中人数{0}", node2.pedList.Count);

                Console.ReadLine();
        }
    }

    //People的类,
    public class People
    {
        public int ID;
        public int Type;
        public Node start;
        public Node end;
        public  void Move()
        {
            /////////////
            //如何实现!!!!???
            /////////////
            this.end.pedList.Add(this);
            this.start.pedList.Remove(this);
        }
       
    }
    public class Node
    {
        public ArrayList pedList;
    }
扫描到people对象时,people执行Move()函数,然后people从start.Pedlist到end.PedList中。
2011-08-01 14:49
xdragon88
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2011-6-29
得分:0 
新手,第一次用this。
2011-08-01 14:51



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-346416-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.117662 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved