List的Select 和Select().tolist()

  List<Person> delp = new List<Person>
            {
                new Person{ Id=1,Name="小明1",Age=11,Sign=0 },
                new Person{ Id=2,Name="小明2",Age=12 ,Sign=0},
            };
            delp.Select(u => { u.Sign = 1; return u; });
            delp.Select(u => { u.Sign = 1; return u; }).ToList();

只用select时 delp中元素sign的值并没有变,但是当tolist之后,sign的值变成了1;

select官方解释;  将序列中的每个元素投影到新表单。测试用新变量接收:

  var aaa = delp.Select(u => { u.Sign = 1; return u; });
            aaa.ToList();

用aaa新变量接收,但是此时aaa和delp的sign都是0;但是在下面tolist之后,aaa和delp的sign都变成了1;

暂时不知道为什么会这样,这里暂时做个记录,看到的博友,知道其中原因的,麻烦给个解释,不胜感激!

上一篇:计数和ToList扩展方法的枚举?


下一篇:爬取大学排名 用pyecharts进行可视化