【问题标题】:Where are pointers used in C#?C# 中的指针在哪里使用?
【发布时间】:2014-05-23 00:39:29
【问题描述】:

我对 C# 环境还很陌生,我已经用 C++ 编写代码一段时间了。在 C# 中究竟会在哪里使用指针?在 C# 中使用指针是否可取?

【问题讨论】:

标签: c# pointers


【解决方案1】:

您可以使用指针,但只能在“不安全”模式下使用。你永远不会在正常的 C# 编码中使用它们。

所有类都继承自Object,并被称为“引用”类型。这些类型由 reference 传递,它主要只是底层的一个指针,并且对程序员隐藏了任何细节,例如地址。

这些是您的“指针”,但您永远不会删除它们,因为 C# 中的所有内容都是垃圾收集的,您可以像拥有对象本身一样访问它们(没有 -> 运算符)。

intdoublechar 等类型是“值”类型,并按值传递(就像在 C++ 中一样)。您也可以通过引用传递这些,但您必须在函数签名中使用ref 关键字并且在调用它时

struct 是另一种特殊情况,它是“值”类型。 MSDN

【讨论】:

  • 结构呢?是传值吗?
  • @JonathonReinhart,这比我给出的解释要好得多。谢谢!我已经编辑了我的答案以使用它。
  • @user2495173,结构是值类型,经过编辑以包含此内容。
  • @BradleyDotNET:谢谢!
【解决方案2】:

您可以在 C# 中实际使用指针的唯一地方是不安全的代码区域,这通常是不受欢迎的。其余时间,运行时将为您管理内存。

【讨论】:

    猜你喜欢
    • 2020-11-02
    • 1970-01-01
    • 2019-08-03
    • 2014-05-04
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    • 2015-03-11
    • 1970-01-01
    相关资源
    最近更新 更多