使用这两种不同的方式为视图声明模型时,ASP.NET MVC控制器的实际内存/性能增益是多少?
User user = userService.GetByID(id);
return View(user);
或
return View(userService.GetById(id));
我假设最后一个更高效,因为我们没有初始化一个对象,但是第一个更具可读性。这对于拥有数千名访客的网络服务器来说是否重要?
答案 0 :(得分:4)
对于分配的内存和垃圾收集器的行为,两个语句之间没有区别。使用您喜欢阅读的那个: - )
答案 1 :(得分:4)
实际上,在两种情况下都会初始化一个对象;第一个做的是第二个不是:1)为变量保留一些空间(不涉及性能,而是空间); 2)添加对象的引用(即,增加该对象的引用数),然后删除该行之后的引用(减少引用数)。
我几乎不相信两者之间可以观察到性能差异。
那就是说,我更喜欢第二个,因为那里不需要user
变量;无论如何,这只是一个品味的问题,可能有造型的理由,喜欢第一个和其他人喜欢第二个。