未将对象引用设置到对象的实例

中文命名法 2016-08-29 09:54:13
public class 待选集合
{
public List<待选成员> 待选成员 { get; set; }
}
public class 待选成员
{
public byte 位置 { get; set; }
public List<添加剂们> 添加剂们 { get; set; }
}
public ActionResult recognise(int id)
{
var 纪录 = 库.历史查询.Find(id);
待选集合 待选集合 = new 待选集合();
foreach (var 配料 in 纪录.用户确认)
{
待选成员 待选成员 = new 待选成员 { 位置 = 配料.位置 };
if (配料.类型 == "添加剂" && String.IsNullOrEmpty(配料.确认后))
{
Expression<Func<添加剂们, bool>> 条件 = w => 配料拆分(w.英文名).Intersect(配料拆分(配料.确认前)).Any();
待选成员.添加剂们 = 库.添加剂们.Where(条件.Compile()).OrderByDescending(o => 配料拆分(o.英文名).Intersect(配料拆分(配料.确认前)).Count()).ToList();
}
待选集合.待选成员.Add(待选成员);
}
ViewBag.添加剂们 = 待选集合;
return View(纪录);
}
调试发现 待选成员.添加剂们 的值为空,是不是它的赋值语句写的不对?
待选成员.添加剂们 = 库.添加剂们.Where(条件.Compile()).OrderByDescending(o => 配料拆分(o.英文名).Intersect(配料拆分(配料.确认前)).Count()).ToList();
...全文
356 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
public class 待选集合
{
    public List<待选成员> 待选成员 { get; set; } = new List<待选成员>();
}
public class 待选成员
{
    public byte 位置 { get; set; }
    public List<添加剂们> 添加剂们 { get; set; } = new List<添加剂们>(); 
}
中文命名法 2016-08-29
  • 打赏
  • 举报
回复
引用 3 楼 lovelj2012 的回复:
1、撸主,你能不能用拼音或者英文,看着这一坨中文,太恶心了,O(∩_∩)O哈哈~ 2、你在实例化待选成员的时候,你木有实例化添加剂们嘛
1,我英文没你好; 2,会说中国话,走遍天下都不怕; 3,目前SQL表名,字段名,VS变量名,方法名,类名,路由规则都是中文的,没有因为这样报出任何错误。
引用 2 楼 starfd 的回复:
如果你是VS2015,支持C# 6.0语法,可以 public List<添加剂们> 添加剂们 { get; set; } = new List<添加剂们>(); 否则只能通过构造函数初始化,同理 待选集合 有同样的问题
尝试了一下2015真好,方便呀! 运行了一下,还是有这个错误信息:未将对象引用设置到对象的实例。 如果赋值的时候搜索结果是空值的话,VS依然认为 public List<添加剂们> 添加剂们 没有实例化? 调试中能看到 添加剂们.count = 0; 而之前调试中 添加剂们=null
xiaoqiu_net 2016-08-29
  • 打赏
  • 举报
回复
中文。。。很牛逼。。 “未将对象引用设置到对象的实例”遇到这类问题,就去检查当前操作的对象是不是为null 了。。 犯错就是经验把。
江南小鱼 2016-08-29
  • 打赏
  • 举报
回复
1、撸主,你能不能用拼音或者英文,看着这一坨中文,太恶心了,O(∩_∩)O哈哈~ 2、你在实例化待选成员的时候,你木有实例化添加剂们嘛
  • 打赏
  • 举报
回复
如果你是VS2015,支持C# 6.0语法,可以 public List<添加剂们> 添加剂们 { get; set; } = new List<添加剂们>(); 否则只能通过构造函数初始化,同理 待选集合 有同样的问题
  • 打赏
  • 举报
回复
List<添加剂们>没有初始化,即没有new过,default(List<添加剂们>)结果是null,不是new List<添加剂们>()

62,270

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧