相当于 C# 中的 C 结构
Posted
技术标签:
【中文标题】相当于 C# 中的 C 结构【英文标题】:equivalent of C struct in C# 【发布时间】:2011-03-19 18:00:34 【问题描述】:有人可以帮我看看这个 C 代码在 C# 中的等价物吗?
struct int left, right; stack[MAX];
谢谢!
【问题讨论】:
【参考方案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<PickAName>
应该始终是首选。
@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 可以完成这项工作。以上是关于相当于 C# 中的 C 结构的主要内容,如果未能解决你的问题,请参考以下文章