Farklı giriş türlerini okumak için aşağıdaki anahtar kutusunu kullanıyorum ve her zaman bir noktalı virgülle ulaştığımda, çıktı sonsuz döngüden geçiyor (yarı kolon algılandı;). Böyle bir şey için bulduğum bir çözüm, tüm vakalardan sonra girişi tekrar kontrol etmeyi önerdi ve bunu zaten kodumda yaptım. Bir döngüde neden döngü oluşturduğunu ve sıkıştığımı anlayamıyorum.Bir anahtar kutusunun neden sonsuz bir şekilde döngü yaptığını nasıl anlarsınız?
while (inputType != 0)
{
switch (inputType)
{
case 1: // alpha
{
} // end case 1
case 3: // numeric
{
} // end case 3
case 5: // delimeter
{
break;
} // end case 5
case 6: // space
{
readChar(ref sentenceIX, ref sentence, ref inputChar, ref inputType);
if (inputType == 6)
{
readChar(ref sentenceIX, ref sentence, ref inputChar, ref inputType);
MessageBox.Show("Space detected " +inputChar);
} // end if
break;
} //end case 6
case 7: // semi colon
{
readChar(ref sentenceIX, ref sentence, ref inputChar, ref inputType);
if (inputType == 7)
{
MessageBox.Show("Semi Colon detected " +semiColonChar);
readChar(ref sentenceIX, ref sentence, ref inputChar, ref inputType);
}
break;
}
default:
{
break;
}
} // end switch
} //end while
Ben de onun yerine "iken" ve hiçbir değişim "eğer" case 6 ve 7 hale çalıştılar. Dize için bir metin kutusu kullanıyorum ve dizideki son char (;) 'i terk etmemekte olduğundan şüpheleniyorum ve eğer öyleyse bunu nasıl yapabilirim? "
: -while
döngüler - hiçbir şey sonra bir devlet değişken eklemek
while
döngü kırmaya anahtarı içinde
break
ifadeleri indend eğer
inputType
0 yüzden sonsuz
döngüler setleri
Tüm kodunuza ihtiyacımız yok ... lütfen [MCVE] (http://stackoverflow.com/help/mcve) gönderin (bu durumda minimum * vurgulayın) –
Soruyu yanıtlamak için başlığınız, hata ayıklayıcısını kullanın –
hata ayıklayıcınız en iyisi arkadaşım ... –