2016-12-04 1 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

' char' 매개 변수 때문에 컴파일되지 않습니다. – Lee

+1

'x'를'int'로 변환해야합니다. Lee가 지적한 바에 따르면 과부하는 없다. 's.Select (x => (int) x) .Sum()' – Christos

+0

@Christos 이것은 각 문자의 10 진수 값을 합산합니다. 's.Select (x => (int) x-'0 '). Sum()' – Neyoh

1

나는 제안이 솔루션 :

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 순환한다 int.Parse``의 과부하가 없습니다

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)); 
     } 
관련 문제