高手求助:【求一组节点的生成树】 假如节点为以下几组a,b,c,a,da,e ,fa,b,g,生成: a / \ \ b d e/ \ \c g f最后用C#代码,效率越高越好 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public void GetNode(TreeView MyTreeView, IList<string> PathList, char SplitChar) { for (int i = 0; i != PathList.Count; i++) { int Index = 1; IList<string> _TempNode = PathList[i].Split(SplitChar); if (_TempNode[0].Trim().Length != 0) { string NodeID = _TempNode[0]; if (treeView1.Nodes[NodeID] == null) { MyTreeView.Nodes.Add(NodeID, _TempNode[0]); AddNode(MyTreeView.Nodes[NodeID], _TempNode, ref Index); } else { AddNode(MyTreeView.Nodes[NodeID], _TempNode, ref Index); } } } } private void AddNode(TreeNode Tn, IList<string> _TempNode,ref int Index) { if (Index > _TempNode.Count - 1) return; if (_TempNode[Index].Trim().Length == 0) { Index++; if (Index > _TempNode.Count - 1) return; } string NodeID = _TempNode[Index]; if (Tn.Nodes[NodeID] == null) { Tn.Nodes.Add(NodeID, _TempNode[Index]); Index++; AddNode(Tn.Nodes[NodeID], _TempNode, ref Index); } else { Index++; AddNode(Tn.Nodes[NodeID], _TempNode, ref Index); } } IList<string> Temp = new List<string>(); Temp.Add("a,b,c,"); Temp.Add("a,d"); Temp.Add("a,e ,f "); Temp.Add("a,b,g,"); GetNode(treeView1, Temp, ','); if (treeView1.Nodes[NodeID] == null)改成 if (MyTreeView.Nodes[NodeID] == null) 如何找到哪个文件的什么地方引用了程序集?? 求救!!! 控件传递的问题 这种自动列表的控件该怎么做? .net中移动模板问题 求教,一个关于c#中连接Access数据库的问题! C#添加数据源时找不到本地服务器 请教自动登陆网页的winform程序,高分! 是不是在linux上能运行c#?我在一个网站上看到下面的东西,请大家说说。 高手帮帮忙?一个数据库的连接问题````` 求职面试有什么技巧??? 在C#中void函数还要不要return;?
public void GetNode(TreeView MyTreeView, IList<string> PathList, char SplitChar)
{
for (int i = 0; i != PathList.Count; i++)
{
int Index = 1;
IList<string> _TempNode = PathList[i].Split(SplitChar);
if (_TempNode[0].Trim().Length != 0)
{ string NodeID = _TempNode[0]; if (treeView1.Nodes[NodeID] == null)
{
MyTreeView.Nodes.Add(NodeID, _TempNode[0]);
AddNode(MyTreeView.Nodes[NodeID], _TempNode, ref Index);
}
else
{ AddNode(MyTreeView.Nodes[NodeID], _TempNode, ref Index);
}
} } }
private void AddNode(TreeNode Tn, IList<string> _TempNode,ref int Index)
{
if (Index > _TempNode.Count - 1) return; if (_TempNode[Index].Trim().Length == 0)
{
Index++;
if (Index > _TempNode.Count - 1) return;
}
string NodeID = _TempNode[Index]; if (Tn.Nodes[NodeID] == null)
{
Tn.Nodes.Add(NodeID, _TempNode[Index]);
Index++;
AddNode(Tn.Nodes[NodeID], _TempNode, ref Index);
}
else
{
Index++;
AddNode(Tn.Nodes[NodeID], _TempNode, ref Index);
}
}
IList<string> Temp = new List<string>(); Temp.Add("a,b,c,");
Temp.Add("a,d");
Temp.Add("a,e ,f ");
Temp.Add("a,b,g,");
GetNode(treeView1, Temp, ',');