如何在c#中编写指针类型的变量

时间:2015-07-16 13:42:59

标签: c#

我是C#的新手。    我在c中有所了解,就像在c中我们可以将变量声明为指针类型,通过它我可以使用help& variable name访问该变量地址,所以我如何在C#中使用这个概念。

有人可以帮我解决这个问题吗?

2 个答案:

答案 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)

c#指针中的

只允许在不安全的上下文中使用。

你可以看看这里: https://msdn.microsoft.com/en-us/library/y31yhkeb.aspx

如果可能,你应该避免不安全的背景。