.NET 3.x Почему если условие входа в цикл не выполняется, функция заново входит в цикл - C#
Формулировка задачи:
Сам код:
Когда код переходит к потом к кавычке и сразу перескакивает к Почему?? Почему если условие входа в цикл не выполняется, функция не проходит заново а входит в цикл?
private void traverse_node(TreeControlItem node)
{
TreeControlItem childNode = default(TreeControlItem);
Feature featureNode = default(Feature);
int nodeObjectType = 0;
object nodeObject = null;
string restOfString = "";
string indent = "";
int i = 0;
bool displayNodeInfo = true;
nodeObjectType = node.ObjectType;
nodeObject = node.Object;
if ((nodeObject != null))
{
featureNode = (Feature)nodeObject;
restOfString = "[FEATURE: " + featureNode.Name + "]";
}
if ((displayNodeInfo))
{
Debug.Print(indent + node.Text + " : " + restOfString);
}
// Expand the node
node.Expanded = expandThis;
traverseLevel = traverseLevel + 1;
childNode = node.GetFirstChild();
while ((childNode != null))
{
Debug.Print(indent + "Node is expanded: " + childNode.Expanded);
traverse_node(childNode);
childNode = childNode.GetNext();
}
traverseLevel = traverseLevel - 1;
}childNode = null
traverseLevel - 1
traverse_node(childNode);
Решение задачи: «.NET 3.x Почему если условие входа в цикл не выполняется, функция заново входит в цикл»
textual
Листинг программы
private void button1_Click(object sender, EventArgs e)
{
int i = 0;
ModelDoc2 myModel = default(ModelDoc2);
FeatureManager featureMgr = default(FeatureManager);
TreeControlItem rootNode = default(TreeControlItem);
myModel = (ModelDoc2)SwApp.ActiveDoc;
featureMgr = myModel.FeatureManager;
rootNode = featureMgr.GetFeatureTreeRootItem2((int)swFeatMgrPane_e.swFeatMgrPaneBottom);
expandThis = true;
for (i = 0; i <= 1; i++)
{
if ((rootNode != null))
{
Debug.Print("");
traverseLevel = 0;
traverse_node(rootNode);
}
expandThis = false;
if (i == 0)
{
MessageBox.Show("Ok to Collapse All");
}
}
}