2016-09-26 8 views
-2

私たちはProject Eulerの問題に取り組んでいます。私は仕事に取り掛からないコードの一部があります。1000以下のテキストをテキストボックスに表示するC#

10の下に3と5の倍数の合計を表示して計算しましたが、1000より下の同じ数値の合計を計算しましたが、計算に使用された数値をテキストボックスまたは同等のフィールドに最初に表示できません。

ここにコードへのリンクがあります。 http://pastebin.com/MZAA88UP

答えて

0

あなたが代わりに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()); 
    } 
+0

これは簡単なようです私は今試してみて、それが動作するかどうかを見てみましょう。 –

+0

ありがとうございました!それは動作します! –

+0

時間があるときに[Linq](https://msdn.microsoft.com/en-us/library/bb397933.aspx)を試してみて、例としてDmitry Bychenkoの答えを参照してください。 – Alex

1

私は、それが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); 
関連する問題