c# IList.ToList()后更改元素值会不会影响原列表的值
2021-02-18 23:19
标签:pos bsp 更改 log else student public reg style c# IList.ToList()后更改元素值会不会影响原列表的值 标签:pos bsp 更改 log else student public reg style 原文地址:https://www.cnblogs.com/zhshlimi/p/8323666.htmlclass ListTest
{
public static void Test()
{
#region 值类型
var oListVal = new Listint>()
{
1,2,3,4
};
var nListVal = oListVal.Where(p => p > 2).ToList();
//由于T 是 值类型的( int类型),所以新列表的元素与旧列表的元素各自被分配一个内存地址(栈内存)
//更改新列表的元素,不影响旧列表元素
nListVal[0] = 5;
if (oListVal[2] == nListVal[0])
{
Console.WriteLine("值类型--已更改原始值");
}
else
{
Console.WriteLine("值类型--未更改原始值");
}
#endregion
#region 引用类型
var oListRef = new List
文章标题:c# IList.ToList()后更改元素值会不会影响原列表的值
文章链接:http://soscw.com/index.php/essay/57268.html