2016-04-01 14 views
-3

benim C# kodu bu parçası olacağım, kod cevabıC# RetVal komplikasyon

kimse açıklama ile bana yardım edebilir (SONSUZ DÖNGÜ) nedir?

private void Form1_Load(object sender, EventArgs e) 
{ 
    Int32 X = 1; 
    Int32 RetVal = X; 

    while (X <= 5) 
    { 
     if (X == RetVal && X < 2) 
      RetVal = 4; 
     X = RetVal; 

     X += 1; 
    } 
    MessageBox.Show(X.ToString()); 
+2

daha büyük 4. hata ayıklamak çalıştı mı olma daha asla büyüktür? Bu kod bile gerekli değil, ilk döngüden sonra 'X' '5' ve 'RetVal' '4'den sonra görebiliyorsunuz. Ve bu böyle kalacaktır, çünkü 'eğer' durumunuz artık 'yanlış'. “X” ise tekrar “Retiv” ('4') 'e ayarlanır ve tekrar => 5' artar. Böylece her bir iterasyon 'X'' 5'' ve 'RetVal''' 4'' sonra. –

+3

Bir hata ayıklayıcısını hemen kullanmaya başlamanızın nedenlerinden biri budur – Steve

+0

Belki de girintinizi sabitlememeliydim. Belki de X = Retival'in “if” şubesinin bir parçası olduğunu düşündünüz? –

cevap

1

X 5 sebebiyle if bloğun kapsamında olmamak X = RetVal; ve RetVal asla