存储对字符串的引用

zac*_*ary 3 c# string

我有一个有3个字符串属性的类.我想将它们存储在一个列表中,这样当我对列表的字符串进行更改时,它们也会在类中更新.

如果我使用类对象,这很容易做,但字符串似乎表现不同.它似乎为列表创建了一个对象的副本,而不是指向该对象的指针.我怎么做这个是C#?如果这不可能有更好的方法吗?

jjn*_*guy 6

strings 的问题是它们是不可变的.换句话说,string一旦创建它就永远不会改变.

因此,如果要"更改"a string,则必须从中删除原始文件List,并将结果存储回列表中.例:

string a = "abcdefg";
List<String> list = new List<String>();
list.add(a);

a = a.Substring(0, 5);
Run Code Online (Sandbox Code Playgroud)

该代码没有任何作用,因为string a它指向永远不会改变.它只是指向一个新的string.