c # Как сложить общее количество защищенного массива - PullRequest
0 голосов
/ 24 апреля 2011

Я пытаюсь добавить полную сумму всех TotalPrice для 5 входов, когда я добавляю следующее:

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

При компиляции появляется сообщение об ошибке:

error 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 ]

3 голосов
/ 24 апреля 2011
Console.WriteLine("Total is ${0}", InputOrder.Sum(x=>x.TotalPrice));

Это не массив, это ваш InputOrder.TotalPrice, который защищен

2 голосов
/ 24 апреля 2011

Старая школа:

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));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...