このコードはコンソール アプリケーションでは正しく動作しますが、Windows フォーム アプリケーションで使用すると正しく動作しません。停止することはなく、出力も生成されません。
私はこのようなコンソールアプリケーションでそれを使用し、それは動作します:
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);
}