2010-05-26 79 views
2

如何使用指针?在C中使用指针#

+16

**不要**。 – SLaks 2010-05-26 14:40:37

+3

解释你为什么要\需要使用指针。这应该会导致一些更好的答案和辩论。如果没有上下文来说明使用它们的原因,那么在C#中使用指针可能会被视为颇具争议。 – 2010-05-26 14:47:30

+0

如果这个主题不是重复的并且在某个地方,那么社区wiki可能对那些来自语言的指针用法很普遍的人有帮助吗? – 2010-05-26 14:51:07

回答

0

最好的做法是避免unsafe的代码。所以不要在C#中使用指针。

+9

更好的建议是指出哪里他们可能会有用而不是提供这样一个全面的声明。 – ChaosPandion 2010-05-26 14:41:07

1

除了已经指出应尽可能避免指针和不安全代码的其他答案之外。

你想避免让代码遍布全部代码库,所以我建议在所有不安全的调用之前编写一个.Net包装器,这样你只需要在一个地方担心它。可能甚至为它创建一个类库,但这取决于你在做什么。

使用包装的人会记得调用包装的Dispose方法和类似的方法,以确保任何指针或其他非托管资源得到正确处理,但这与代码的其余部分没有什么不同。

+0

包装类是一个好主意。你真的想把你的不安全的代码保存在一个地方。 – ChaosPandion 2010-05-26 15:02:16

+0

在不调用dispose时实现Dispose **和**析构函数模式。 – 2010-05-26 15:21:57

2

已经说了足够多的关于使用在C#中指针;不过如果你使用的话,这里是你如何做到这一点的example

0

我知道这个话题是旧的,但我发现自己从C++切换到C#后,在某些情况下通过使用set/get属性来模拟指针的行为。 :)