Всем привет Возникла следующая проблема : отсортировать коллекцию нод к которой принадлежит выделенная в алфавитном порядке... но чего-то не получается. Не обращайте внимание на неэффективность кода - это я уже извращался. Просто я .NET до этого практически не писал - поэтому могут быть совсем тупые ошибки
Код | private void sortNodes() { TreeNodeCollection Nodes;
if (treeView1.SelectedNode == null) return; if (treeView1.SelectedNode.Parent == null) { if (treeView1.Nodes != null) Nodes = treeView1.Nodes; else return;
} else { if (treeView1.SelectedNode.Parent.Nodes != null) Nodes = treeView1.SelectedNode.Parent.Nodes; else return; }
TreeNode[] Ar = new TreeNode[Nodes.Count]; if (Nodes.Count == 0) return; int i = 0; foreach (TreeNode tn in Nodes) { Ar[i] = (TreeNode)tn.Clone(); }
Nodes.Clear();
TreeNode tn1, tn2, tn3; int index; for (i = Nodes.Count - 1; i > 0; i--) for (int j = 0; j < i; j++) { tn1 = Ar[j]; tn2 = Ar[j + 1]; if (tn2.Text.CompareTo(tn1.Text) < 0) { Ar[j + 1] = tn1; Ar[j] = tn2;
} } for(i = 0; i < Ar.Length; i++) Nodes.Insert(i, Ar[i]); // <- от тут вот исключение - Ar[i] нулевой оказался }
|
|