此代碼在控制檯應用程序中正常工作,但是當我在Windows窗體應用程序中使用它時,它無法正常工作。它永不停止,也不會產生任何輸出。爲什麼while()循環在button_Click()方法的主體中不起作用
我用它在一個控制檯aplication這樣,它的工作原理:
static void Main(string[] args)
{
Console.WriteLine("Enter your boolean query");
do{
string query = Console.ReadLine();
List<int> lst = ProcessQuery(query);
count = 0;
if (lst!=null)
{
foreach (int a in lst)
{
if (a == 1)
{
Console.WriteLine(documentContentList[count]);
}
count++;
}
}
else
{
Console.WriteLine("No search result found");
}
} while(1==1);
}
我嘗試在Windows窗體應用程序使用上面的代碼在button_click
方法,但它不能正常工作。我認爲while(1==1)
有什麼不對 - 是否有任何等價物?
這裏是我寫的按鈕的方法:
private void button6_Click(object sender, EventArgs e)
{
if (t == null)
{
MessageBox.Show("Click on LoadFile Button,Please.");
return;
}
if (textBox4.Text == "")
{
MessageBox.Show("Enter your Boolean Query");
return;
}
listBox1.Items.Clear();
DateTime dt = DateTime.Now;
do{
List<int> lst = t.ProcessQuery(textBox4.Text);
count = 0;
if (lst != null)
{
foreach (int a in lst)
{
listBox1.Items.Add(t.documentContentList[count]);
}
count++;
}
else
{
listBox1.Items.Add("No Search Result Found");
}
label1.Text = "Search = " + listBox1.Items.Count + " items, " + DateTime.Now.Subtract(dt).TotalSeconds + " s";
} while (1==1);
}
'while(1 == 1)'?????你打算做什麼?當你想擺脫while循環? – Arran 2013-05-09 14:37:17
這是一個無限循環! – Obama 2013-05-09 14:37:40
@Arren,是的,這是循環的一個斷點,但它不適用於Windows窗體應用程序,任何替換? – Olivia 2013-05-09 14:40:54