读书人

两段代码的比较有关问题。 让标题长起

发布时间: 2013-04-22 16:01:35 作者: rapoo

两段代码的比较问题。。。 让标题长起来
刚开始用MVC,开始写的CODE1,总监看了提出改成code2。
这两段代码有什么区别?
code2的优点在哪儿?


[HttpPost]
public ActionResult Create(Movie newMovie)
{
MovieDBContext db = new MovieDBContext();

if (ModelState.IsValid)
{
db.Movies.Add(newMovie);
db.SaveChanges();
return RedirectToAction("Index");
}
else
return View(newMovie);
}



[HttpPost]
public ActionResult Create(Movie newMovie)
{
using (MovieDBContext db = new MovieDBContext())
{

if (ModelState.IsValid)
{
db.Movies.Add(newMovie);
db.SaveChanges();
return RedirectToAction("Index");
}
else
return View(newMovie);
}
}

[解决办法]
code2的好处是db对象用完后会自动释放
而code1不会释放,你要自己写释放代码
[解决办法]
using 会释放资源
继承自IDisposable的类都可以使用这种方式释放资源
[解决办法]
用using
第一,引用程序集
第二,自动释放资源

读书人网 >C#

热点推荐