我已经为其他语言找到了一些线程但C#没有...
基本上,我需要的是每次实例化一个具有不同名称的类(为了能够在类之间创建链接)
我目前的代码:
foreach (DataRow dataRow in RoutingObjects.Rows)
{
NodeViewModel node = CreateNode(dataRow.ItemArray[1].ToString(), new Point(globalx, globaly), false, dataRow.ItemArray[0].ToString());
}
Run Code Online (Sandbox Code Playgroud)
这将为表中的每一行创建一个新的NodeViewModel.我真正需要的是每个NodeViewModel都有不同的名称,但我不知道如何做到这一点.
我尝试在循环中使用一个简单的int但我不能在类实例名中添加一个变量.(明显错误的)代码在这里:
int i = 0;
foreach (DataRow dataRow in RoutingObjects.Rows)
{
NodeViewModel node+i = CreateNode(dataRow.ItemArray[1].ToString(), new Point(globalx, globaly), false, dataRow.ItemArray[0].ToString());
i++;
}
Run Code Online (Sandbox Code Playgroud)
我想到这一点,我应该采取不同的做法,这可能是一个可怕的想法,但我想要一些建议!如果有可能我想知道 - 否则,一些替代方案会非常有用=)
谢谢!
我想你正在寻找一个系列.你可以使用List<NodeViewModel>.
var nodelist = new List<NodeViewModel>();
foreach (DataRow dataRow in RoutingObjects.Rows)
{
NodeViewModel node = CreateNode(dataRow.ItemArray[1].ToString(), new Point(globalx, globaly), false, dataRow.ItemArray[0].ToString());
nodelist.Add(node);
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以通过索引访问列表中的每个节点,例如:
NodeViewModel nvm = nodelist[0];
Run Code Online (Sandbox Code Playgroud)