jiuxieluan16140
jiuxieluan16140
采纳率0%
2016-03-30 07:40 阅读 4.0k

C# List<T> 引用类型赋值问题

今天用泛型foreach遍历赋值引用类型。碰到一个很坑爹的问题,求解答? 入下图:第一例的数据被第二列数据覆盖

图片说明
图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • wyll2010 wyll2010 2016-04-01 06:42

    lll.add(item); 添加的是list 所以你的l里面每一个元素都是list
    可以直接添加
    for (int i = 0; i < 2;i++ )
    {
    List list = new List();
    list.Add(new class1(Guid.NewGuid().ToString(), "1"));
    list.Add(new class1(Guid.NewGuid().ToString(), "1"));
    l.Add(list);
    }

    点赞 评论 复制链接分享
  • hyp_no_sis hyp_no_sis 2016-04-03 07:29

    完全没看明白,根据以上的代码逻辑,监视到的值应该是正确的啊,哪里来的覆盖?

    点赞 评论 复制链接分享
  • u012962800 劲疯舞 2018-10-22 08:55

    因为你的Class1是引用类型,自始至终都只声明了两个Class1,最后的List里的类是指向这两个类的,所以显示出来是“覆盖”

    点赞 评论 复制链接分享

相关推荐