【问题标题】:equivalent of C struct in C#相当于 C# 中的 C 结构
【发布时间】:2011-03-19 18:00:34
【问题描述】:

有人可以帮我看看这个 C 代码在 C# 中的等价物吗?

struct { int left, right; } stack[MAX];

谢谢!

【问题讨论】:

    标签: c# c++ c visual-studio struct


    【解决方案1】:
    public struct PickAName
    {
         public int left;
         public int right;
    }
    
    private const int MAX = 666;
    PickAName[] stack = new PickAName[MAX];
    

    或:

    Stack<PickAName> stack = new Stack<PickAName>();
    

    【讨论】:

    • 没有理由仅仅因为它以 C 开头就削弱 C# 代码。Stack&lt;PickAName&gt; 应该始终是首选。
    • @Hans Passant:我几乎没有 C# 的经验,我只是给了他他要的翻译
    【解决方案2】:
    public struct PickAName
    {
         public int left;
         public int right;
    }
    

    不确定 stack[MAX] 的作用。

    如果您想在伪代码术语中使用“堆栈”,请执行以下操作:

    Stack<PickAName> stack = new Stack<PickAName>();
    stack.Push(new PickAName());
    stack.Pop();
    

    【讨论】:

    • stack[MAX] 的作用是声明行首定义的结构实例的数组(最长为 MAX 个)。
    • 好吧,我正在将用于快速排序的 C 算法翻译成 C#。现在我必须翻译迭代代码并且需要一个结构。如果您愿意,我可以发布完整的代码并对其进行解释,但我认为您提供的 sn-p 可以完成这项工作。
    猜你喜欢
    • 2016-06-21
    • 2014-11-06
    • 2012-09-30
    • 1970-01-01
    • 2011-01-24
    • 2012-09-30
    • 2021-04-07
    • 1970-01-01
    • 2012-05-25
    相关资源
    最近更新 更多