私たちはProject Eulerの問題に取り組んでいます。私は仕事に取り掛からないコードの一部があります。1000以下のテキストをテキストボックスに表示するC#
10の下に3と5の倍数の合計を表示して計算しましたが、1000より下の同じ数値の合計を計算しましたが、計算に使用された数値をテキストボックスまたは同等のフィールドに最初に表示できません。
ここにコードへのリンクがあります。 http://pastebin.com/MZAA88UP
私たちはProject Eulerの問題に取り組んでいます。私は仕事に取り掛からないコードの一部があります。1000以下のテキストをテキストボックスに表示するC#
10の下に3と5の倍数の合計を表示して計算しましたが、1000より下の同じ数値の合計を計算しましたが、計算に使用された数値をテキストボックスまたは同等のフィールドに最初に表示できません。
ここにコードへのリンクがあります。 http://pastebin.com/MZAA88UP
あなたが代わりにLINQのループを使用する場合:
private void BtnDisplay1000_Click(object sender, RoutedEventArgs e)
{
var stringBuilder = new StringBuilder();
for (int i = 0; i < 1000; i++)
{
if (i % 3 == 0 || i % 5 == 0)
{
stringBuilder.Append(i);
stringBuilder.Append(", ");
}
}
TxtDisplay1000.Text = (stringBuilder.ToString());
}
私は、それがLINQののために良い仕事だと思う:あなたは簡単にそれで遊ぶことができますソースとして
numbers
を持つ
int n = 1000;
var numbers = Enumerable
.Range(1, n - 1)
.Where(item => item % 3 == 0 || item % 5 == 0);
。
// 233168
var sum = numbers.Sum();
をあなたは数字を印刷したい場合は:あなたが総括したい場合は
// 3, 5, 6, 9, 10, 12, ..., 996, 999
string report = string.Join(", ", numbers);
これは簡単なようです私は今試してみて、それが動作するかどうかを見てみましょう。 –
ありがとうございました!それは動作します! –
時間があるときに[Linq](https://msdn.microsoft.com/en-us/library/bb397933.aspx)を試してみて、例としてDmitry Bychenkoの答えを参照してください。 – Alex