需要将一个C里面的程序写成C#的,C下面定义了一个list,如下:
typedef struct lists
{
int index;
struct lists *parent;
struct lists *parent;}list这段程序在C#下怎么写啊?我直接写成:
public struct lists
{
int index;
lists paraent;
lists child;
}编译时报错:cause a cycle in the struct layout.
typedef struct lists
{
int index;
struct lists *parent;
struct lists *parent;}list这段程序在C#下怎么写啊?我直接写成:
public struct lists
{
int index;
lists paraent;
lists child;
}编译时报错:cause a cycle in the struct layout.
解决方案 »
- 为什么gridview 单元格输入时 单元格中有一个小框框显示,移开焦点时小框框又消失
- C#调用基类构造函数时警告变量名在当前上下文不存在
- Form中执行到TcpListener.AcceptSocket线程阻塞解决办法?
- 点击水晶报表“左边的组树”里的成员,“左下脚的当前页码没有随着变化”,我期望是当前页码随着变化,显示为当前页的页码,该如何实现?
- C++中的结构如何在C#中实现?(在线等待!!!)
- 如何实现用多线程来实现一台客户端连接多台服务器进行分布式的上传下载???急!!!
- datagrid 查找的问题!
- 如何通过javascript获取整个文档的内容?
- 请问一个外企级别的.NET项目经理所需的技能是什么?
- 一个正则表达式问题
- 求一个C#写的winfrom程序!!!!!
- 这个正则表达式怎么写?
public class List
{
private int _index;
private List _parent, _child; public List()
{
} public int Index
{
get { return _index; }
} public List Parent
{
get { return _parent; }
set
{
_parent = value;
UpdateIndexes(this);
}
} public List Child
{
get { return _child; }
set
{
_child = value;
UpdateIndexes(this);
}
} private static void UpdateIndexes(List obj)
{
// TODO: 更新列表中所有元素的索引值。
throw new NotImplementedException();
}
}
另外,.net 2.0开始已经提供了LinkedList<T>泛型类,如果懒得自己实现的话可以试试使用这个现成的,使用方法参考MSDN:http://msdn.microsoft.com/en-us/library/he2s3bh7.aspx
{
int index{get;set;}
A paraent{get;set}
A child{get;set}
}
public class A{}
{
int index;
struct lists *parent;
struct lists *parent;}list
晕,糊涂了,这好像就是一个双向链表啊,一个index是节点的保存内容,俩个parent各自指向它前面和后面的节点?如果是这样,那应该可以就用LIST,不用再保存那俩个指针了,如:struct Item
{
int index;
//in case you have some other field here
}List<Item> myList;
晕,错了错了,有一个是child
请问在另一个类中需要对list.Index赋值为-1怎么操作呢?
让Index属性只读是为了保护它不被随意更改,如果觉得没有这种必要,那么可以为它加上set方法。另外,如果-1是一种特殊状态,可以用另一种方法或属性来操作。
对呀,你该了后:
public struct lists
{
int index;
lists paraent;
lists child;
}这就是个双向链表啊,而且,里面就保存了个index,其他啥数都没有啊。如果你没有简化,那这应该就和C#的:List<int>没什么区别啊。我什么地方看错了?