我是C#的新手。 我在c中有所了解,就像在c中我们可以将变量声明为指针类型,通过它我可以使用help& variable name访问该变量地址,所以我如何在C#中使用这个概念。
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
在C#中,所有实例变量都是指针。实际上,当您将对象作为方法的参数传递时,您将向同一对象传递一个新指针。这样,对象永远不会按值传递(请参阅注意),并且您可以从不同的范围修改相同的实例。
另一个需要注意的重要事项是:
public void SomeMethod(object instance)
{
instance = null;
}
在此处,您不是将实例设置为null
,而是将指针更改为指向null
值,因此原始instance
将保持不变。
public void SomeMethod(object instance)
{
instance = new object();
}
在这里,您也没有修改instance
值。您只是将指针更改为指向新的完全对象,而原始的instance
不会再次触及。
注意:虽然对象永远不会按值传递,但指向它们的指针实际上是。正如我所说,当一个对象传递给一个方法时,你正在创建一个指向它的新指针,所以你可以想到按值传递的指针。
答案 1 :(得分:-1)
只允许在不安全的上下文中使用。
你可以看看这里: https://msdn.microsoft.com/en-us/library/y31yhkeb.aspx如果可能,你应该避免不安全的背景。