gpt4 book ai didi

c# - 如何在c#中创建节点

转载 作者:行者123 更新时间:2023-11-30 18:20:25 24 4
gpt4 key购买 nike

我是 c# 新手,并从 c 切换到 c#。我想做c到c#的等效操作。我在 c 中也有同样的情况:

  temp = (struct Node*)malloc(sizeof(struct Node));

节点所在位置:

struct Node 
{
unsigned int symbol ;
int freq;
struct Node * next, * left, * right;
}

在 C# 中,我使用了 class 而不是 struct。我尝试这样做:

 Node temp = new Node();

其中 Node 是相同的,除了它是一个类并使用公共(public)(我确信这是正确的)。如果我错了,你能帮我吗?它是否正确创建了一个与我使用 malloc() 创建的节点等效的节点?

最佳答案

你的类应该看起来像这样

public class Node
{
public unsigned int symbol;
public int freq;
public Node next;
public Node left;
public Node right;
}

如果您分配给 nextleftright 类似于

Node root = new Node();
root.next = new Node();

您将看到与您在 C 中所做的非常相似的行为。

存储由运行时自动管理,因此不会显式调用 mallocfree 的等效项。这一切都发生在幕后。

此外,作为一般规则,不要在 C# 中使用指针。虽然如果您将代码标记为不安全,您可以做到这一点,但在极少数情况下,不安全代码是 C# 应用程序的正确路径.

注意:该示例使用对类和字段的公共(public)访问。您可能希望根据您的具体用途对其进行一定程度的限制。

关于c# - 如何在c#中创建节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22307693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com