代碼很簡單:
namespace Textboxta10_karakterde_1_alt_satira_gecen_program
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int charNumber = 0;
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (charNumber >= 2)
{
MessageBox.Show("Hey");
if (charNumber % (2) == 0)
{
MessageBox.Show("Hey");
textBox1.AppendText(Environment.NewLine);
}
charNumber ;
MessageBox.Show("Hey");
}
}
}
}
它永遠不會顯示“嘿”訊息,并且當 charNumber 可被 2 整除時,它永遠不會轉到下面的行。
但是,如果我撰寫代碼if (charNumber <= 2)而不是if (charNumber >= 2),它確實會按預期顯示“嘿”訊息,并按預期將下一個字符寫在下面一行。
我不明白這個問題。
uj5u.com熱心網友回復:
charNumber被初始化為 0,并且在發布的代碼中永遠不會是 0,因為增量在外部 if 塊內,它只在charNumber>= 2 時運行。也許你想像charNumber ;這樣在外部 if 塊之外?
int charNumber = 0;
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (charNumber>=2)
{
MessageBox.Show("Hey");
if (charNumber % (2) == 0)
{
MessageBox.Show("Hey");
textBox1.AppendText(Environment.NewLine);
}
MessageBox.Show("Hey");
}
charNumber ;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/512672.html
