をdecimal
またはdouble
として実行するかどうかをプログラムで判断できませんが、これを修正する方法はわかりません。私のコードですが、最後の2行目は私の心配です。以下のメソッドまたはプロパティ間で呼び出しが曖昧である(小数点および二重丸め)
ArrayList topp1 = new ArrayList();
int toppcount = 0;
foreach (Control cb in GroupBoxH1T.Controls)
{
CheckBox cb1 = cb as CheckBox;
if (cb1.Checked == true)
{
toppcount++;
topp1.Add(cb1.Text);
}
}
if (cbhwchoice.Checked == false)
{
ArrayList topp2 = new ArrayList();
foreach (Control cb in GroupBoxH2T.Controls)
{
CheckBox cb1 = cb as CheckBox;
if (cb1.Checked == true)
{
toppcount++;
topp2.Add(cb1.Text);
}
}
toppcount = Math.Round((toppcount/2,MidpointRounding.AwayFromZero);
}
面白い、ありがとう! – Wilson
'toppcount = Math.Round(toppcount/2m、MidpointRound.AwayFromZero);'とするだけで、これを大幅に短縮することができます。 '2m'は全ての必要なキャストを引き起こします。 – SimpleVar