C# 什么';下面的方法调用有什么问题?
可能重复:C# 什么';下面的方法调用有什么问题?,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,可能重复: 我有一个叫做HoursOfOperation的模型(ASP.NET MVC 4,C#): public class HoursOfOperation { public List<DayTimes> Monday { get; set; } public List<DayTimes> Tuesday { get; set; } public List<DayTimes> Wednesday { get; set; }
我有一个叫做HoursOfOperation的模型(ASP.NET MVC 4,C#):
public class HoursOfOperation
{
public List<DayTimes> Monday { get; set; }
public List<DayTimes> Tuesday { get; set; }
public List<DayTimes> Wednesday { get; set; }
public List<DayTimes> Thursday { get; set; }
public List<DayTimes> Friday { get; set; }
public List<DayTimes> Saturday { get; set; }
public List<DayTimes> Sunday { get; set; }
}
现在,我正在尝试向星期一实体添加一个新集合,如下所示:
var _vm = new HoursOfOperation();
_vm.Monday.Add(new DayTimes{
From = day.From.ToString(),
To = day.To.ToString(),
Status = (int)day.Status
});
一旦超出上述语句,我就会得到一个“对象引用未设置为对象的实例。”
异常
现在我已经检查过了,day.From.ToString()
有一个“08:00:00”
,day.To.ToString()有一个“09:30:00”
,day.Status在该语句引发异常时有一个1
有什么想法吗?那是因为
Monday
没有实例化
你应该这样做
_vm.Monday = new List<DayTimes>();
未初始化各种列表属性;您需要添加
_vm.Monday = new List<DayTime>();
\u vm.Monday=新列表();
此时您的列表为空。所以
_vm.Monday
…将引发异常。您必须new
将它们添加到构造函数中:
public HoursOfOperation() {
Monday = new List<DayTimes>();
// ...etc
}
public hoursof operation(){
星期一=新列表();
//…等等
}
您需要创建白天时间列表的实例:
var hoursOfOperation = new HoursOfOperation
{
Monday = new List<DayTimes>(),
Tuesday = new List<DayTimes>(),
Wednesday = new List<DayTimes>(),
Thursday = new List<DayTimes>(),
Friday = new List<DayTimes>(),
Saturday = new List<DayTimes>(),
Sunday = new List<DayTimes>()
};
var hoursofooperation=新的hoursofooperation
{
星期一=新列表(),
星期二=新列表(),
星期三=新列表(),
星期四=新列表(),
星期五=新列表(),
星期六=新列表(),
星期日=新名单()
};
几乎所有NullReferenceException的情况都是相同的。请看“”以获得一些提示。哇,我对C#和OOP非常陌生,但我实际上知道这一点,却错过了它。谢谢大家,谢谢大家的回复。
public HoursOfOperation() {
Monday = new List<DayTimes>();
// ...etc
}
var hoursOfOperation = new HoursOfOperation
{
Monday = new List<DayTimes>(),
Tuesday = new List<DayTimes>(),
Wednesday = new List<DayTimes>(),
Thursday = new List<DayTimes>(),
Friday = new List<DayTimes>(),
Saturday = new List<DayTimes>(),
Sunday = new List<DayTimes>()
};