当对象在列表中

时间:2019-05-12 03:49:48

标签: c# oop

我很怀疑,我知道所有参数或参数通常都是.net中c#中的值。通过我有相同的代码

public class Person {
        public String Name { set; get; }
    }

和其他类中的相同的简易方法

public Person Change(Person p) {
            p.Name = "Angelina Jolie";
            var p2 = new Person();
            p2.Name = "Jennifer Aniston";
            return p;
}

但是当我执行以下句子时,

 public void Process() {
        var list = new List<Person>();
        var p = new Person();
        p.Name = "Brad Pitt";
        list.Add(p);
        foreach (var p2 in list) {
            var p3 = Change(p2);
            System.Console.Write(p2.Name); // return Angelina Jolie
            System.Console.Write(p3.Name); // return Jennifer Aniston
        }
    }

为什么“ person2”更改过程函数的值范围?我认为.NET总是通过引用使用参数,如果它在列表中,并且我们使用列表来访问对象

0 个答案:

没有答案