c# - 从列表中选择后对象仍然链接(引用)?

标签 c# list reference

我想知道,但我不是很确定,但请帮帮我。

如果您有一个列表项,并且有一个对象您需要更改它的属性。 假设 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/

相关文章:

c# - 打开/关闭应用程序的功能

c# - WPF 命令 - View 与模型的关系

c# - 如何在 .NET 中创建词典列表?

reference - 为什么我可以返回对局部文字的引用而不是变量?

c# - Automapper公约

python - 使用列表从 CSV 文件创建字典

python - 多次操作文件数据

C++ get 方法 - 按值或按引用返回

vba - 如何打开(并保存)Word文档中的所有嵌入式文档?

c# - GDI+ 文本有黑边