c# 一个递归帮忙看下哪出错了

来源:百度知道 编辑:UC知道 时间:2024/06/10 05:01:45
public static string xj(string[] l,int n)
{
foreach (string i in l)
{
if (i == "新目录"+n.ToString())
{
n++;
xj(l, n);
}

}
return n.ToString();
}

private void button11_Click(object sender, EventArgs e)//按钮事件
{
string[] xx = new string[listBox2.Items.Count];
for (int i = 0; i <= listBox2.Items.Count - 1; i++)
{
xx[i] = listBox2.Items[i].ToString();
}
string x = xj(xx, 1);
listBox2.Items.Add(x);

}

要在BUTTON事件后给listbox增加一个新的列

完全都没有思路 一点不懂什么叫递归
要求是什么 如果是1.2.4 那么里面不相等的两两都不相等的数是3个 还是求出不在1.2.4里面的最小的正整数
看来你的意思是后一种意思,根本不需要递归,
for(int i=0;i<l.Length-1;i++)
{
if(i==0&&l[i]!=1)
{
return 1;
}
if(l[i+1]!=l[i]+1)
{
return l[i]+1;
}
}

错的太多了,连个mian(){}都没!

你写完整的发出来

递归一定要有一个出口,并且每次递归后的操作要一样,才好使用递归

private void button1_Click(object sender, EventArgs e)
{

listBox2.Items.Add("在这里输入那一行的内容。");

}
这样不就行了为什么要递归呢?

{
foreach (string i in l)
{
if (i == "新目录"+n.ToString())
{
n++;
xj(l, n);
}

}
return n.ToString();
}

好象了一个return