读书人

加大括号这是什么写法?解决思路

发布时间: 2013-01-12 16:25:03 作者: rapoo

加大括号这是什么写法?
本帖最后由 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;

读书人网 >asp.net

热点推荐