如何了解Ref和Val类型的帮助

Pos*_*Guy 1 c# oop

我一直在阅读参考和价值类型.我明白了.但是这对编码有什么帮助呢?我没有任何好的例子来了解那些知道这些东西有帮助的时候.

Jon*_*eet 14

这意味着您可以了解您的代码将要执行的操作.

由于不知道类型系统语义,当你无法预测任何给定语句的影响时,编写代码有点困难.

例如,假设您不知道引用类型的工作方式,并且有人向您展示了此代码:

StringBuilder builder = new StringBuilder();
StringBuilder other = builder;
builder.Append("Foo");
other.Append("Bar");
Console.WriteLine(builder);
Run Code Online (Sandbox Code Playgroud)

我们知道那将打印"FooBar",因为它StringBuilder是一个引用类型 - 第二行只是复制引用,而不是创建另一个对象.但是如果你不理解引用类型的行为方式,你可能只想打印"Foo".