我想知道,但我不是很确定,但请帮帮我。
如果您有一个列表项,并且有一个对象您需要更改它的属性。 假设 myClass 有一个字符串属性“status”。我正在使用 for 循环搜索我的列表,我得到了我的对象,所以我这样做了
myClass item = items[i];
如果我想更改“状态”属性,我会这样做:
item.Status = "new status";
我的问题是:“item”是否仍然链接到列表项,所以如果我执行上面的行,它也会在列表中更改而无需设置:
items[i] = item;
希望这是清楚的。
提前致谢。
最佳答案
列表和 item
变量都有对实际对象的引用。您对该对象所做的任何更改都可以通过任一引用看到。
换句话说……假设您翻阅了电话簿,并选择了一个特定的地址。您将地址复制到一张纸上,然后开车去那里。然后你把房子漆成红色。现在,在电话簿中查找相同地址并前往那里的任何其他人仍然会看到一座红色的房子,即使他们没有看到您的纸条。
看看我的 article about value types and reference types了解更多信息。
(顺便说一句,这都是假设 myClass
确实是一个类。)
关于c# - 从列表中选择后对象仍然链接(引用)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2856925/