加大括号这是什么写法?
本帖最后由 will_stier 于 2013-01-04 16:46:40 编辑
public class AdminController : Controller
{
//
// GET: /Admin/
IUserService iuser = new UserService();
public ActionResult Index()
{
return View();
}
public ActionResult Login()
{
Session["user"] = new User() { usr_cd="admin", usr_password="123456" };//看一个MVC3的例子,不知道这里为什么可以这样写。似乎不是传统的构造方法
return View();
}
public ActionResult GetUserLogin(string uid, string pwd, string chk)
{
string str = Session["chk"].ToString();
if (str != chk)
{ //验证码错误
return Content("-1");
}
else
{
//开始进入判断
User uInfo = iuser.VolidateUserLogin(new User() { usr_cd = uid, usr_password = pwd, usr_lgn_time = DateTime.Now.ToString(), usr_lgn_ip = Request.UserHostAddress });
if (uInfo!=null)
{
//登陆成功跳转主页
Session["user"] = uInfo;//"CrmMain/Index"
return Content("1");
}
else
{
return Content("0");
}
}
}
public ActionResult GetValidateCode()
{
string vCode =ValidateCode.CreateValidateCode(4);
Session["chk"] = vCode;
byte[] bytes =ValidateCode. CreateValidateGraphic(vCode);
return File(bytes, @"image/gif");
}
}
看一个MVC3的例子,不知道14行那里的语句为什么可以这样写。似乎不是传统的构造方法,我在看MVC3之前必须要理解哪些内容?
[解决办法]
匿名类型的赋值方式,让C#代码看着更加优雅
等同于:
User Test=new User();
Test.usr_cd="admin";
Test.usr_password="123456";
[解决办法]
new一个对象的另一种写法,大括号后面可以对该类里面的属性直接赋值
[解决办法]
实例化一个类并赋值
[解决办法]
下面的与你那一行是等价的,
都是符合C#语法的。
User u = new User();
u.usr_cd="admin";
u.usr_password="123456";
Session["user"] = u;