c# ToList疑惑,求高手解

原创 2011年01月16日 12:09:00

1:问题描述

有三个类,Department,Method和Data

a.Department里面有个Data的集合,如下:

 public class Department
    {
        public List<Data> BakDatas = new List<Data>();
    }

b.Method里面也有个Data的集合,如下:

public class Method
    {
       public List<Data> Datas;
    }

c.Data类:

  public class Data
    {
        public double Temperature
        {
            get;
            set;
        }          
    }

d.Method与Department的关系:

            dept = new Department();
            method = new Method();
            method.Datas = dept.BakDatas;

这样建立以后,原则上给dept.BakDatas值,method.Datas count个数应该和dept.BackDatas count个数一样,可是下面测试(下面红色字体)并不是这样,不知为什么,求高手解??

 

附代码:

 /// <summary>
        /// 设置关联,检查:dept.BakDatas的变化将影响methodDP.Datas
        /// </summary>
        private void InitInstance()
        {
            dept = new Department();
            method = new Method();
            method.Datas = dept.BakDatas;
        }
      

 private List <Data > initBackDatas()
        {
            List <Data > BakDatas=new List<Data> ();  
         
            Data dt1 = new Data() {  Temperature = 21 };
            Data dt2 = new Data() {  Temperature = 22 };
            Data dt3 = new Data() {  Temperature = 23 };
            BakDatas.Add(dt1);
            BakDatas.Add(dt2);
            BakDatas.Add(dt3);
            return BakDatas ;
        }

 

       /// <summary>
        /// 测试错误why
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnTestAdd_Click(object sender, EventArgs e)
        {
            InitInstance();
            List<Data> BackDatas = initBackDatas();
            dept.BakDatas = BackDatas.ToList();

            //显示:dept:3;Method:0
            string infoCheck= = "dept:"+dept.BakDatas.Count.ToString()
                + ";Method:" + method.Datas.Count.ToString ();
        }
        /// <summary>
        /// 测试正确
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnTestClear_Click(object sender, EventArgs e)
        {
            InitInstance();
            List<Data> BackDatas = initBackDatas();
           
            dept.BakDatas.Clear();
            dept.BakDatas.AddRange(BackDatas );

            //dept:3;Method:3
            string infoCheck= "dept:" + dept.BakDatas.Count.ToString()
              + ";Method:" + method.Datas.Count.ToString();
        }

 

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

c#关于Tolist的扩展方法

  • 2014年08月28日 16:55
  • 10KB
  • 下载

LINQ使用细节之.AsEnumerable()和.ToList()的区别

先看看下面的代码,用了 .AsEnumerable(): 1 var query = (from a in db.Table 2 where a = SomeCon...
  • jjp837661103
  • jjp837661103
  • 2014年11月20日 20:54
  • 10584

C# List的几点用法

1、求两个List的交集和差交集 public static void Main(String[] args) { List list1 = new List(...
  • Ceronjyc
  • Ceronjyc
  • 2014年01月15日 18:48
  • 1247

LINQ中ForEach方法的使用

LINQ中ForEach方法的使用。 1、实例一:使用ForEach获取列表中的某个字段值 /// /// 使用ForEach获取列表中员工名称字段 /// static void Main(...
  • pan_junbiao
  • pan_junbiao
  • 2016年06月25日 12:47
  • 6721

JAVA8之collect总结(给自己)

一,collect是一个终端操作,它接收的参数是将流中的元素累积到汇总结果的各种方式(称为收集器) 二,预定义收集器包括将流元素归约和汇总到一个值.如下 工厂方法 返回类型 用于 ...
  • zhang89xiao
  • zhang89xiao
  • 2016年07月18日 17:23
  • 11633

将DataSet转换成List

将一个dataSet转换成一个list 所以就需要取得DataSet里面的一个table表 因为list是IList类型的,所以就要实例化一个list 【IList list=new List】 这时...
  • Fanbin168
  • Fanbin168
  • 2014年04月11日 17:38
  • 6827

C++转向C# 的疑惑:析构函数及相关

转自 http://blog.csdn.net/zhuweisky/article/details/415665 从C++转向C#的程序员经常被C#中的析构函数、Dispose方法、Cl...
  • arau_sh
  • arau_sh
  • 2011年12月05日 13:54
  • 581

Unity3d-C#之Delegate和Event疑惑?

1.如果多次注册同一个事件处理函数时,触发时处理函数是否也会多次触发? using System; using System.Collections.Generic; using System.Lin...
  • cabxyz
  • cabxyz
  • 2014年12月11日 11:01
  • 852

C++转向C# 的疑惑:事件的机制究竟是什么?

转自:http://blog.csdn.net/zhuweisky/article/details/415669 C++转向C# 的疑惑:事件的机制究竟是什么?      C++是如...
  • normallife
  • normallife
  • 2013年03月24日 23:01
  • 729

C#中的一些疑惑(网摘整理)

1.C# [Serializable] 的作用?序列化的attribute,是为了利用序列化的技术准备用于序列化的对象必须设置 [System.Serializable] 标签,该标签指示一个类可以序...
  • jeryler
  • jeryler
  • 2011年07月28日 10:45
  • 482
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c# ToList疑惑,求高手解
举报原因:
原因补充:

(最多只允许输入30个字)