c# - 在 ASP.NET MVC 中为 View 初始化模型的不同方法

标签 c# asp.net-mvc performance memory

当使用这两种不同的方式为 View 声明模型时,ASP.NET MVC Controller 的实际内存/性能增益是多少?

User user = userService.GetByID(id);
return View(user);

return View(userService.GetById(id));

我假设最后一个更高效,因为我们没有初始化对象,但是第一个更具可读性。这在拥有数千名访问者的网络服务器上是否重要?

最佳答案

实际上,您在这两种情况下都初始化了一个对象;第一个正在做而第二个不是的是:1)为变量保留一些空间(这与性能无关,但与空间有关); 2) 添加对对象的引用(即增加该对象的引用数),然后删除引用(减少引用数)之后的行。

我几乎不相信两者之间存在性能差异。

也就是说,我更喜欢第二种,因为那里不需要 user 变量;无论如何,这只是一个品味问题,可能出于样式原因更喜欢第一种,而其他人更喜欢第二种。

关于c# - 在 ASP.NET MVC 中为 View 初始化模型的不同方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1357380/

相关文章:

.net - “IConfigurationSection”不包含 'Get' 的定义并且没有可访问的扩展名

c# - ASP.NET MVC - 模型绑定(bind)不同实体中具有相同名称的多个参数 - GET 和 POST 不同吗?

c# - 如何实现实现另一个接口(interface)的通用接口(interface)?

c# - Windows Azure 中 Silverlight 应用程序的表单例份验证

c# - Umbraco 7 Razor - 找到父级

c++ - 您使用过的最可靠、最快速的 Windows C++ 分析器是哪个?

c# - c# if else 语句的时间复杂度

java - Espresso : What are the advantages/disadvantages of having multiple tests vs. 一个用户旅程?

c# - Visual Studio 2015 社区 : PNG Editor Error - "Exception from HRESULT: 0x80020101"

c# - 如何将 "IStorageItem"的实现传递给 DataPackage.SetStorageItems(items) 并且不在 UWP 上引发 InvalidCastException?