数字をリストに追加しようとしていますが、数字が255でなく0でない場合は、ネストされたifを避けるようにします。私がこれをしなければならないコードは以下の通りです。C#ifステートメント。 aまたはbでない場合
if (!(r == 255 || r == 0))
{
rlist.Add(r);
listBox2.Items.Add(Math.Floor(r).ToString());
}
しかし、まだ255と0がリストボックスに追加されていますが、理由を特定できません。誰かが私が間違っていることを指摘できますか? ご協力いただきありがとうございます。
'r'は' double'または他の浮動小数点型ですか?もしそうなら、計算などの丸め誤差を扱っていないことを確実に知っていますか? 'Math.Floor(r)'は 'r'が小数部を持つことを期待していると思われます。 – adv12
'Math.Floor(r).ToString()'は疑わしく見えます。あなたは確かにr = 255であり、そうではありませんか? 255.1? –
あなたの言葉の選択についてのさらなるコメント:あなたのコードの英語の言い換えは、「もしかしなければaかb」です。あなたのタイトルと紹介文では、コードのロジックとは異なる "not a or not b"と言っています。コードに希望のロジックが表示されている場合は、タイトルが "aまたはbでない場合"を、最初の文で "not 255 * and * not 0"と読み替えることをお勧めします。 – adv12