定义一个MVC3的模型实体类,如:
public class ModelInfo
{
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
.......
//以下省略N个字段定义
}
调用过程中,只使用其中个别字段,如:
public ActionResult VipSellMng(ModelInfo model)
{
//处理内容
}
传入变量时只赋给model.FirstName值,那么其他的字段应该还是占有内存空间的吧,这样是不是就造成了资源浪费,有什么更加方法可以解决此问题
你可以把方法定义为:public ActionResult VipSellMng(int id,string firstName)
引用类型没赋值时,占用空间也就4-8个字节(根据x86或x64),值类型的话是值类型的实际占用空间,比如 int 就是 4个字节。
明白你的意思了。一个模型中有N多字段,但是你在特定的环境下,只会用到其中的某些字段,在这种情况下你觉得这个模型中的其他字段是多余的,想把这些字段去掉。
解决办法有2种(你也能想到):
1. 再定义一个大小合适的模型。
2. 抛弃模型,直接传参数。
2种方法各有利弊,写程序的过程 就是 一个取舍的过程。
你的model只要new好了,空间就已经分配好了。除非是那种动态可以增加的引用类型,比如引用的是List什么的,这个也就是那个字段指向的空间会越来越大。
这是新手问题,建议不要再考虑了。如果硬是强迫症发作了,可以使用Hashtable之类的东西