メソッドに数値を送信している状況があり、その数値を 6 に分割し、数値 6 を n 個のアイテムで割ったリストを返します。Dictionary.count から分割数を取得し、返されたリストを取得した辞書と組み合わせています。返されるリスト、何らかの理由で常に正しいアイテム数が返されるとは限りません。12 まで問題なく動作します。ただし、信頼性が低くても、予測可能です。次の数値は、必要な数よりも 1 つ少ないインデックスのリストを返します...13,15,18,23,25,20,27,28,30.....以下のコードは、より大きなプロジェクトから取得されました。
public void DivTest()
{
double value;
Double.TryParse(textBox1.Text, out value);
double div = 6 / value;
int count = 1;
StringBuilder sb = new StringBuilder();
for (double d = div; d <= 6; d += div)
{
sb.Append(count.ToString()).Append(" : ")
.Append(d.ToString("0.0000")).Append(" : ")
.Append(div.ToString("0.0000")).AppendLine();
count++;
}
label1.Text = sb.ToString();
}
デフォルトの名前付きテキストボックス、ラベル、ボタンを含むフォームにこのコードを追加しても、おそらく正しく動作しません。最後の行は常に 6 である必要がありますが、それは私が言及した数字です。丸めの問題だと思いましたが、この例では丸めを使用していません。何か案は?ありがとう。