在 C# 中实例化类时我有些困惑。这是我通常做的
在模型中:
public class ModelView
{
public string inputfield1 { get; set; }
public string inputfield2 { get; set; }
public List<DataGrid1> Grids { get; set; }
}
public class DataGrid1
{
public string row1 { get; set; }
public string row2 { get; set; }
public string row3 { get; set; }
}
在控制器中:
public ActionResult Index()
{
ModelView result = new ModelView //this is where I confused
{
inputfield1 = " ",
inputfield2 = " ",
Grids = new List<DataGrid1>()
};
return View(result);
}
在很多例子中,我看到人们这样做:
public ActionResult Index()
{
ModelView result = new ModelView()
{
inputfield1 = " ",
inputfield2 = " ",
Grids = new List<DataGrid1>()
};
return View(result);
}
我确实尝试过这个,它也有效。我的问题是
实例化一个类时,使用()与不使用有什么区别?
定义具有内联属性的对象时,()
方括号是可选的。这就是为什么这有效
ModelView result = new ModelView()
{
inputfield1 = " "
};
这也是
ModelView result = new ModelView
{
inputfield1 = " "
};
但是当属性没有内联定义时,括号是强制性的。
ModelView result = new ModelView();
result.inputfield1 = " ";
这行不通
ModelView result = new ModelView;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句