动态命名结构c#
我正在编写的程序有许多结构,这些结构取决于许多因素,主要的一点是我无法预测其中有多少结构,所以程序自己创建它们 结构看起来像这样动态命名结构c#,c#,dynamic,struct,naming,C#,Dynamic,Struct,Naming,我正在编写的程序有许多结构,这些结构取决于许多因素,主要的一点是我无法预测其中有多少结构,所以程序自己创建它们 结构看起来像这样 public struct boardState { public int structid; public char[] state; } 如何让程序命名这些结构而不显式地给它命名 理想情况下,会有一个名为structNum的int来跟踪已经创建了多少个结构,然后根据structNum的值来命名任何新的结构,但我不确
public struct boardState
{
public int structid;
public char[] state;
}
如何让程序命名这些结构而不显式地给它命名
理想情况下,会有一个名为structNum的int来跟踪已经创建了多少个结构,然后根据structNum的值来命名任何新的结构,但我不确定这是否是可以做到的,是否有一种方法或者您可以建议一种更好的方法
谢谢。如果您不知道您将要拥有的值的确切数量,您可以使用一个
列表,该列表可以容纳任意数量的值。在运行时动态命名不是.NET的功能。编译后没有真正的名称
var theList = new List<boardState>();
// add
theList.Add(new new boardState());
// get one
int id = theList[0].structid;
// iterate
foreach(var s in theList)
// do something
int cnt = theList.Count;
var theList=newlist();
//加
添加(新的boardState());
//得到一个
int id=theList[0].structid;
//迭代
foreach(列表中的var s)
//做点什么
int cnt=列表计数;
在运行时,如果不进行大量的反射,就不能使用动态变量名
最简单的解决方案是将结构保存在列表
或类似集合中:
List<boardState> boardStates = new List<boardState>();
List boardStates=新列表();
您对值类型的理解有缺陷。这似乎是最好的解决方案,但我不确定如何做到这一点。我试过这样做;INTX=失败者名单。计数;失败者名单。添加(x);loseList[x].state=sentstate;但这不起作用,我该怎么做呢?