class ListTest
{
public static void Test()
{
#region 值类型
var oListVal = new List<int>()
{
,,,
}; var nListVal = oListVal.Where(p => p > ).ToList(); //由于T 是 值类型的( int类型),所以新列表的元素与旧列表的元素各自被分配一个内存地址(栈内存)
//更改新列表的元素,不影响旧列表元素
nListVal[] = ; if (oListVal[] == nListVal[])
{
Console.WriteLine("值类型--已更改原始值");
}
else
{
Console.WriteLine("值类型--未更改原始值");
}
#endregion #region 引用类型
var oListRef = new List<Student>()
{
new Student()
{
Id=,
Name = "A"
},
new Student()
{
Id=,
Name = "B"
},
new Student()
{
Id=,
Name = "C"
},
new Student()
{
Id=,
Name = "D"
},
}; var nListRef = oListRef.Where(p => p.Id > ).ToList(); //由于T 是 引用类型的( Class类型),所以新列表的元素与旧列表的元素共用一个内存地址(堆内存)
//更改新列表的元素,实际上也修改了旧列表元素
nListRef[].Name = "G"; if (oListRef[].Name == nListRef[].Name)
{
Console.WriteLine("引用类型--已更改原始值");
}
else
{
Console.WriteLine("引用类型--未更改原始值");
}
#endregion
} class Student
{
public int Id { get; set; }
public string Name { get; set; }
} }

c# IList.ToList()后更改元素值会不会影响原列表的值的更多相关文章

  1. matlab(8) Regularized logistic regression : 不同的λ(0,1,10,100)值对regularization的影响,对应不同的decision boundary\ 预测新的值和计算模型的精度predict.m

    不同的λ(0,1,10,100)值对regularization的影响\ 预测新的值和计算模型的精度 %% ============= Part 2: Regularization and Accur ...

  2. 【IE6的疯狂之十】父级使用padding后子元素绝对定位的BUG

    在前端开发中,经常会用到css的position:absolute来使层浮动,前通过left,top,right等属性来对层进行定位,但ie6对left,top,right等属性的解释和ie7,ie8 ...

  3. CSS使用position定位后导致元素浮动

    1.子元素 absolute/fixed定位后,子元素脱离文档流存在,它让出原来占的那个坑,父元素再也不能通过子元素来撑开高度了 <style> div{ position:absolut ...

  4. MYSQL后更改ROOT的密码后无法启动服务报错1067

    安装MYSQL后更改了ROOT的密码后用 net start mysql 启动时报错1067.使用以下命令:1.进入mysql安装目录的bin目录下:cd C:\Program Files\MySQL ...

  5. Eclipse创建Maven Web项目后更改Servlet版本

    Eclipse创建Maven Web项目后更改Servlet版本 1.场景基于Eclipse通过maven-archetype-webapp原型创建一个Web项目后,其默认Servlet版本是2.3, ...

  6. 布尔上下文,这里misreading返回的是来源列表中元素的个数,如果列表中2个值都是undef,则列表元素个数是1: while( $misreading = (my $test_consideration, my $english_pragma) = each %map_function){

    布尔上下文,这里misreading返回的是来源列表中元素的个数, 列表赋值运算的值将会是来源列表中元素的个数,空列表表示0,如果列表中2个值都是undef,则列表元素个数是1 布尔上下文,这里mis ...

  7. 内层元素设置position:relative后父元素overflow:hidden overflow:scroll失效 解决方法

    内层元素设置position:relative后父元素overflow:hidden overflow:scroll 都失效 解决方法:在position:relative的外层父容器加positio ...

  8. TTL值的含义以及与域名DNS TTL值的区别

    TTL值的含义以及与域名TTL值的区别 本文来源于时光漂流瓶 http://www.9usb.net , 原文地址: http://www.9usb.net/201004/ttl-yuyuming-t ...

  9. C++ 赋值构造函数的返回值到底有什么用?且返回值是否为引用类型有什么区别吗?

    首先定义类Person class Person{ public: string name; Person()=default; //默认构造函数 Person(string nam):name(na ...

随机推荐

  1. 关于pycharm字体大小的调整

    我们平常编写pyhton 可以用sublime eclipse 但是eclipse在后期需要安装很多插件,这很是麻烦,为了避免这种麻烦,我们采用pycharm来编写,但是刚装上的该软件 不建议同学们进 ...

  2. [GO]map做函数参数

    package main import "fmt" func test(m map[int]string) { delete(m, ) } func main() { m := m ...

  3. 问渠那得清如许?为有源头活水来。——java面向对象的思想

    20169205 2016-2017-2 <移动平台应用开发实践>第2周学习总结 教材学习内容总结 本次作业要求的部分主要是Java高级语言实现面向对象编程的基本方法,其中所介绍的面向对象 ...

  4. [Lua快速了解一下]Lua的控制语句

    -Lua中没有++或者--的骚操作 -while loop sum = num = do sum = sum + num num = num + end print("sum =" ...

  5. C# HTML转EXCEL的方法

    private void ToExcel(string html) { Response.ContentType = "application/force-download"; R ...

  6. angular 父组件调用子组件

    import { Component, OnInit, ViewChild } from '@angular/core'; @Component({ selector: 'app-child', te ...

  7. mysql 新建数据库与表

  8. 21天学通C++学习笔记(三):变量和常量

    1. 简述 内存是一种临时存储器,也被称为随机存取存储器(RAM),所有的计算机.智能手机及其他可编程设备都包含微处理器和一定数量的内存,用地址来定位不同的存储区域,像编号一样. 硬盘可以永久的存储数 ...

  9. hive默认分隔符

    默认分隔符‘\001',对应ascii码SOH: 通过cat -A filename可以查看分隔符:

  10. 【bzoj1066】: [SCOI2007]蜥蜴 图论-最大流

    [bzoj1066]: [SCOI2007]蜥蜴 把石柱拆点,流量为高度 然后S与蜥蜴连流量1的边 互相能跳到的石柱连inf的边 石柱能到边界外的和T连inf的边 然后跑dinic就好了 /* htt ...