我主要使用C++进行工作,现在在我的新工作中使用C#。在这里阅读了一些关于'ref'关键字和c#值类型与引用类型的内容后,我仍然对它们感到困惑。
就我所理解的,如果将它们传递给方法,则它们类似于C ++样式:
值类型:
public void CSharpFunc(value)
andpublic void CPlusplusFunc(value)
引用类型:
public void CSharpFunc(reference)
andpublic void CPlusPlusFunc(&reference)
'ref' / 指针
public void CSharpFunc(ref bar)
和
public void CPlusPlus(*bar)
这个比喻正确吗?
ref
。使用C或C++指针以及C#对象,您可以修改指针/对象所指向的位置的数据,但无法覆盖调用者对指针的副本。 - Sebastian Mach