2017-10-21 9 views
-2

だから、私が知っているコードスニペットなどを有する:ボタンが8回クリックされた場合はC#で(x ++)%nにシーケンスを減少作成

int x = 0; //class field variable 

private void button1_Click(object sender, EventArgs e) 
{ 
    Label1.Text += (x++)%4 + 1; 
} 

12341234の配列がフォーム上に表示されます。

私の目標は43214321を表示することです。私は間違って何をやっている

int x = 1; //class field variable 

private void button1_Click(object sender, EventArgs e) 
{ 
    Label1.Text += 4-(x++)%4 + ; 
} 

:私もで32143214を取得することができるよ

int x = 0; //class field variable 

private void button1_Click(object sender, EventArgs e) 
{ 
    Label1.Text += 3-(x++)%4; 
} 

は、私はを取得することができますよ!これには一般的な式がありますか?

注:私のxは、この式を使用してみてください1.

答えて

0

に初期化する必要もありません: 5-(1+(x+++3)%4)

です:

Label1.Text += (5-(1+(x+++3)%4)).ToString(); 
0

だけに数式を変更します。 Label1.Text += 4-((x-1)++)%4;

0

あなたが書いたコードの最初の行は、基本的に3対1のサイクリングです。

x=0;  
Label1.Text += 3-(x++)%4; 

x = 0 ||出力= 3。
ます。Label1.Text = 0 + 3-(0〜4%)=
X = 1 ||出力= 2。
ます。Label1.Text = 0 + 3-(1%4)=
X = 2 ||出力= 1。
(上記のようにドライラン)
x = 3 ||出力= 0。
(上述のようにドライラン)
x = 4であり、サイクルが繰り返される。あなたが乾燥でき

は、あなたの答えはそれがない方法来る理由を理解するために、コードの2番目の行を実行しますが、簡潔にあなたの質問に答えるために:

int x = 0; //class field variable 
private void button1_Click(object sender, EventArgs e) 
    { 
      Label1.Text += 4-(x++)%4; 
    } 
関連する問題