c # Как подсчитать общее количество защищенного массива

#c# #arrays #protected

#c# #массивы #защищенный

Вопрос:

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

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

Я получаю сообщение об ошибке при компиляции:

ошибка CS0200: свойство или система индексации.Порядок.Общая цена не может быть назначена — она доступна только для чтения

Когда я пишу это так, оно компилируется, и результат правильный, просто кажется, что есть гораздо лучший способ сделать это

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

Любая помощь была бы оценена

Ответ №1:

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

Это не array, это ваш порядок ввода.Итоговая цена, которая защищена

Комментарии:

1. Вам не нужен цикл for, если вы используете выражение LINQ.

2. Ошибка копирования и вставки @Oded … при запуске не было LINQ

Ответ №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));