首页 新闻 会员 周边

C#:一个对象可以保存在两个List中吗,这样做会有什么影响?

0
[已解决问题] 解决于 2013-08-01 09:24

比如说一个List类型的列表ListA中保存有Object1、Object2、Object3、Object4四个对象。

另有一个List类型的列表ListB可以添加Object1、Object4对象吗?

如果ListB添加了Object1、Object4对象,ListA中的Object1、Object4对象还在吗?

c#
sikla的主页 sikla | 初学一级 | 园豆:27
提问于:2013-07-30 18:21
< >
分享
最佳答案
0

存在的,临时写了个验证的例子:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Test
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            string a1 = "a1";
            string a2 = "a2";
            string a3 = "a3";
            string a4 = "a4";
            List<object> listA = new List<object>();
            List<object> listB = new List<object>();
            //listA存在a1--a4
            listA.Add(a1);
            listA.Add(a2);
            listA.Add(a3);
            listA.Add(a4);
            //listB存在a1--a4
            listB.Add(a1);
            listB.Add(a4);
            //测试istA还存在a1和a4吗?返回true则证明存在
            Console.WriteLine("测试istA还存在a1和a4吗" + listA.Contains(a1));
            //自己测试存在a4吧!
            Console.ReadLine();

        }
    }
}
可以直接在控制台试试~~

奖励园豆:5
Elaine00 | 菜鸟二级 |园豆:294 | 2013-07-31 17:27

多谢多谢。。

sikla | 园豆:27 (初学一级) | 2013-08-01 09:24
其他回答(6)
0

存在。。。。。

面对阳光努力向上 | 园豆:179 (初学一级) | 2013-07-30 19:48

肯定是存在的。。。。

你可以在vs上试一试,结果是存在的。。。

支持(0) 反对(0) 面对阳光努力向上 | 园豆:179 (初学一级) | 2013-07-30 19:58
0

当然存在,相当于开辟了两个list内存空间,只是对象存在的内存空间不同而已!

Beyond-bit | 园豆:2885 (老鸟四级) | 2013-07-30 20:08
0

当然存在了,内存空间不一样,但是地址是一样的

幕三少 | 园豆:1384 (小虾三级) | 2013-07-30 20:40
0

应该都是引用Object1、Object4对象的。

panjk | 园豆:712 (小虾三级) | 2013-07-31 09:28
0

object1和object4应该是引用类型,

当两个list同时添加一个对象时,当其中一个改变了,另一个也会改变的,

建议你看一下值类型与引用类型的资料,应该就明白了.

只会造轮子 | 园豆:2274 (老鸟四级) | 2013-07-31 13:07
0

一个对象不可以保存在多个List中。

龍在江湖 | 园豆:13 (初学一级) | 2013-07-31 21:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册