-1
アイデアはシンプルで、ユーザーは数字(文字列)をテキストボックスに入力します(155321など)。アプリは1 + 5 + 5 + 3 + 2 + 1の合計になります。学習、私はどこから始めるべきかわかりません。アプリはWPFで作られています。私の説明が明確であることを願っています。合計文字列のすべての文字ですか?
アイデアはシンプルで、ユーザーは数字(文字列)をテキストボックスに入力します(155321など)。アプリは1 + 5 + 5 + 3 + 2 + 1の合計になります。学習、私はどこから始めるべきかわかりません。アプリはWPFで作られています。私の説明が明確であることを願っています。合計文字列のすべての文字ですか?
単純なLINQの答え:
string s = // your input string
var result = s.Select(x => int.Parse(x.ToString())).Sum();
これは、WPFの依存することなく、普遍的な答えです。
私は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));
}
'かかり' int.Parse'の過負荷はありませんがこれはコンパイルされません。 – Lee
'x'を' int'にキャストする必要があります。 Leeが指摘したように、このような過負荷はありません。 's.Select(x =>(int)x).Sum()' – Christos
@Christosこれは、各文字の小数値を合計します。 's.Select(x =>(int)x-'0 ')。Sum()' – Neyoh