Code Bye

集合的拷贝

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }
    private void Button_Click(object sender, RoutedEventArgs e)
    {
        List<Person> list = new List<Person> { new Person() { Name = "dfdf", Age = 50 }, new Person() { Name = "tt", Age = 30 } };
        List<Person> list2 = new List<Person>(list);
        list2[0].Name = "张三";
        list.ForEach(x => MessageBox.Show(x.Name));
    }
}
class Person
{
    public string Name;
    public int Age;
}

类似上面那种代码,list2复制了list的元素,当修改list2中的元素的Name属性值时,list中元素也修改了。请问,如何做到list中的元素不受影响呢?Person的属性值少还可以新创建Person对象到list2中去,如果遇到属性值很多,该咋办呢?


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明集合的拷贝