首页 > 解决方案 > 收到错误“使用未分配的局部变量”

问题描述

我有一个功能,我有基于该模式的三种模式我在我的视图中显示我的数据库记录,因为我正在使用以下代码,但我收到以下错误

使用未分配的局部变量“结果”

这是我的控制器代码

public PartialViewResult _LaundryBookingPart(DateTime? From, DateTime? To, int mode)
{
    List<RoomLaundryvw> result;
    if (mode == (int)ItemTypesEnum.LaundryGuest)
    {
        result = db.Query<RoomLaundryvw>($"Select rm.RoomID,rm.RoomNo,g.GuestID,g.GuestName,ln.LaundryID,it.ItemName,ln.PickDate,ln.ServiceKind,ln.DropQty,ln.DropDate from Laundry ln " +
        "inner join Items it on ln.ItemId = it.ItemId " +
        "inner join Rooms rm on ln.RoomID = rm.RoomID " +
        "left join Reservation_Guest rg on rg.ReservationID = ln.ReservationID " +
        $"left join Guests g on g.GuestID = rg.GuestID").ToList();
    }

    if (mode == (int)ItemTypesEnum.LaundryStaff)
    {
        result = db.Query<RoomLaundryvw>("Select au.RealName as GuestName from Laundry ln INNER JOIN AspNetUsers au ON ln.UserId = au.Id").ToList();
    }

    if (mode == (int)ItemTypesEnum.Linen)
    {
        result = db.Query<RoomLaundryvw>("Select rm.RoomID,rm.RoomNo,g.GuestID,it.ItemName,g.GuestName from Laundry ln " +
                 "inner join Items it on ln.ItemId = it.ItemId " +
                 "inner join Rooms rm on ln.RoomID = rm.RoomID " +
                 "left join Reservation_Guest rg on rg.ReservationID = ln.ReservationID " +
                 "left join Guests g on g.GuestID = rg.GuestID ").ToList();
    }
    return PartialView(result);
}

我收到上述错误的红线。

请帮我解决一下这个。

标签: c#asp.net-mvcif-statement

解决方案


问题是您从不为结果指定默认值。

IE:您的所有 If 语句都不可能执行和初始化结果变量。


推荐阅读