【发布时间】:2014-05-23 00:39:29
【问题描述】:
我对 C# 环境还很陌生,我已经用 C++ 编写代码一段时间了。在 C# 中究竟会在哪里使用指针?在 C# 中使用指针是否可取?
【问题讨论】:
我对 C# 环境还很陌生,我已经用 C++ 编写代码一段时间了。在 C# 中究竟会在哪里使用指针?在 C# 中使用指针是否可取?
【问题讨论】:
您可以使用指针,但只能在“不安全”模式下使用。你永远不会在正常的 C# 编码中使用它们。
所有类都继承自Object,并被称为“引用”类型。这些类型由 reference 传递,它主要只是底层的一个指针,并且对程序员隐藏了任何细节,例如地址。
这些是您的“指针”,但您永远不会删除它们,因为 C# 中的所有内容都是垃圾收集的,您可以像拥有对象本身一样访问它们(没有 -> 运算符)。
int、double 和 char 等类型是“值”类型,并按值传递(就像在 C++ 中一样)。您也可以通过引用传递这些,但您必须在函数签名中使用ref 关键字并且在调用它时。
struct 是另一种特殊情况,它是“值”类型。 MSDN
【讨论】:
您可以在 C# 中实际使用指针的唯一地方是不安全的代码区域,这通常是不受欢迎的。其余时间,运行时将为您管理内存。
【讨论】: