Jamie888 Ответов: 2

Неявно типизированная локальная переменная должна быть инициализирована


Привет, у меня есть следующие коды, в которых я буду читать данные файла excel и заполнять их в var. После этого я буду фильтровать контент на основе переданных параметров. Но я продолжаю получать сообщение об ошибке, как показано в заголовке выше.
Ниже приведены мои коды:
public ActionResult LoadPackStatusDashboardTotalWeek(string numberFamily, int weekNumber)
{
   string filePathPlannerModule = ConstantValue.PageName.PackStatus.FilePath + "PlannerModule.xlsx";
   var excelDataPlannerModule = MakeCells(filePathPlannerModule);
   var excelDataPlannerModuleNew;//error here

   if (excelDataPlannerModule.ModelList.Count > 0) 
   {
       excelDataPlannerModuleNew = (from x in excelDataPlannerModule.ModelList
                                    where x.CustomerNumber.Equals(numberFamily) &&     x.WeekNumber.Equals(weekNumber)
                                    select new {x.FamilyName, x.WeekNumber}).ToList();
   }

   return Json(new { data = excelDataPlannerModuleNew },JsonRequestBehavior.AllowGet);
}


Что я уже пробовал:

1. Пытался инициализировать excelDataPlannerModuleNew.

2 Ответов

Рейтинг:
1

Bryian Tan

Вместо инициализации var попробуйте сделать следующее

1. Создайте класс со свойством FamilyName, WeekNumber в нем, назовем его MyNewClass
2. измените эту строку select new {x. FamilyName, x.WeekNumber} на

select new MyNewClass {FamilyName = x.FamilyName, WeekNumber = x.WeekNumber}

Затем измените var excelDataPlannerModuleNew; / / ошибка здесь

IList<MyNewClass> excelDataPlannerModuleNew = new List<MyNewClass>() ;


Рейтинг:
0

Graeme_Grant

Выделенная строка не может определить тип переменной. Компилятор ищет возвращаемый тип с правой стороны, которого нет.

var excelDataPlannerModuleNew = ???;
Если вы только инициализируете переменную, что вы и делаете, вам нужно явно объявить тип переменной.

Вот статья, которая объясняет различные значения этих слов: Неявные и Явный: В чем разница?[^]

Вы можете найти гораздо больше информации с помощью поиска google при использовании сообщения об ошибке: Неявно типизированная локальная переменная должна быть инициализирована[^]