1

只是对一些理论感到好奇

我有 C 编程背景,如果你要跨函数传递结构,你很可能会传递一个指向该结构的指针

想知道,在 C# 中,如果我要传递一个数据对象,例如一个实体模型,那么通过引用传递它有什么好处吗?在幕后是传递一个指针还是有更多?

实际上,我的模型相当小,所以如果有任何速度或性能提升,我怀疑它会不会很明显,但我想知道会很好

4

1 回答 1

1

在幕后是传递一个指针还是有更多?

本质上,是的。所有引用类型(基本上除了本机类型和结构之外的所有内容)都是通过引用传递的(从技术上讲,它们是通过值传递的,但在这种情况下,值引用)。如果您将模型传递给更改模型值的函数,则调用函数将看到这些更改。

如果我要传递一个数据对象,例如实体模型,那么通过引用传递它有什么好处吗?

可能不是。在这种情况下,您将通过引用传递引用(类似于指向指针的指针)。我从未见过将模型引用传递给函数并期望该函数更新引用的情况。您会看到使用返回类型和偶尔使用out参数来完成。

于 2013-02-07T03:11:10.920 回答