2016-12-04 4 views
-1

アイデアはシンプルで、ユーザーは数字(文字列)をテキストボックスに入力します(155321など)。アプリは1 + 5 + 5 + 3 + 2 + 1の合計になります。学習、私はどこから始めるべきかわかりません。アプリはWPFで作られています。私の説明が明確であることを願っています。合計文字列のすべての文字ですか?

答えて

2

単純なLINQの答え:

string s = // your input string 
var result = s.Select(x => int.Parse(x.ToString())).Sum(); 

これは、WPFの依存することなく、普遍的な答えです。

+2

'かかり' int.Parse'の過負荷はありませんがこれはコンパイルされません。 – Lee

+1

'x'を' int'にキャストする必要があります。 Leeが指摘したように、このような過負荷はありません。 's.Select(x =>(int)x).Sum()' – Christos

+0

@Christosこれは、各文字の小数値を合計します。 's.Select(x =>(int)x-'0 ')。Sum()' – Neyoh

1

私は2つのソリューションを提案:

の1-標準:

string resultNumber = "12"; // your number 
     int sumNumber = 0;// result of calculating 
     for (int i = 0; i < resultNumber.Length; i++) 
     { 
      sumNumber = int.Parse(resultNumber.Substring(i, 1)) + sumNumber; 
     } 

2 - 再帰

public static int SumNumber(string number) 
     { 

      if(string.IsNullOrEmpty(number)) 
       return 0; 
      else if(number.Length == 1) 
       return int.Parse(number); 
      else 
       return SumNumber(number.Substring(1)) + int.Parse(number.Substring(0, 1)); 
     } 
関連する問題