2011-04-24 2 views
0

나는 5 개 입력에 대한 모든 TotalPrice의 전체 합계를 추가하기 위해 노력하고있어,의 총을 추가하는 방법 나는이 추가 할 때 : 컴파일 할 때C#을 보호 배열

for(x= 0; x < InputOrder.Length; ++x){ 
Console.WriteLine("Total is ${0}", InputOrder[x].TotalPrice++); 

내가 오류 메시지가 :

오류 CS0200 : 속성 또는 인덱서 'System.Order.TotalPrice 을 할당 할 수 없습니다 -이처럼이 그것을 컴파일 및 출력이 올바른지처럼 쓸 때 그것은 단지

읽기, 그냥 보인다 그것을하는 훨씬 더 좋은 방법

Console.WriteLine("Total is ${0}", 
(InputOrder[0].TotalPrice + 
    InputOrder[1].TotalPrice + 
    InputOrder[2].TotalPrice + 
    InputOrder[3].TotalPrice + 
    InputOrder[4].TotalPrice)); 

어떤 도움을

답변

2

올드 스쿨 :

int total = 0; 
for(x= 0; x < InputOrder.Length; ++x){ 
    total += InputOrder[x].TotalPrice; 

Console.WriteLine("Total is ${0}", total); 

LINQ :

Console.WriteLine("Total is ${0}", InputOrder.Sum(item => item.TotalPrice)); 
3
Console.WriteLine("Total is ${0}", InputOrder.Sum(x=>x.TotalPrice)); 

을 그것은, 그것은 보호 귀하의 InputOrder.TotalPrice하지 배열 것 것 주시면 감사하겠습니다

+1

LINQ 식을 사용하는 경우 for 루프가 필요하지 않습니다. – Oded

+0

@Oded copy + paste 실수 ... 처음에는 LINQ가 없었습니다 –

+0

감사합니다. LINQ가 더 쉬워졌습니다. – Joel