概述
问题描述:
一个存放struct的list,如果将其中struct数据再次添加到另外一个list中时,
更改第二个list中struct中的值,会不会影响第到第一个list呢?
现在用代码来证明:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace CSharp
{
class Program
{
public int a = 1;
public int b = 2;
internal struct Info
{
public int c;
public int d;
}
public static void Main(string[] args)
{
ListCopy2();
}
public static void ListCopy2()
{
//第一个list,元素类型为struct,内部包含两个整形值
List<Info> ls = new List<Info>();
Info info = new Info();
//初始化这两个值
info.c = 2;
info.d = 3;
//将这个struct加入list中
ls.Add(info);
//第二个list,元素类型与第一个list中的元素类型一样
List<Info> ls2 = new List<Info>();
//将第一个list中的第一个元素添加到第二个list中
ls2.Add(ls[0]);
//从第二个list中取出这个值,重新赋值
Info info2 = ls2[0];
//赋值为4
info2.c = 4;
ls2[0] = info2;
//打印查看效果
Console.WriteLine(ls[0].c);
Console.WriteLine(ls2[0].c);
Console.ReadKey();
}
}
}
实验结果:
结果证明:互不影响。
最后
以上就是开朗冰棍为你收集整理的C#中使用List
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复