日期:2014-05-17  浏览次数:20775 次

关于匿名类型的一个小问题
1.

string name;

var people=new{name=1};//为什么这里可以这样赋值?name是string类型,1是int类型,不用转换?

2.

var people=new{string name=1};//为什么不能这样?

麻烦各位帮忙解答下..


------最佳解决方案--------------------
本帖最后由 bdmh 于 2012-12-05 11:50:36 编辑 http://blog.csdn.net/courageously/article/details/5695626
var people=new{string name=1},哪有这种初始化语法
------其他解决方案--------------------
1:匿名类型是便于对轻量数据的封装
2:语法 var var1=new{属性名称=value,……}
3:c#编译器会为匿名变量生成对应的匿名类型,相应的字段会被封装为属性,属性类型会根据为字段附的值,自动推断,但是用户不能显示的指定
------其他解决方案--------------------
该回复于2012-12-05 13:18:28被管理员删除
------其他解决方案--------------------
引用:
本帖最后由 bdmh 于 2012-12-05 11:50:36 编辑
            http://blog.csdn.net/courageously/article/details/5695626
var people=new{string name=1},哪有这种初始化语法


因为刚接触..所以理所当然的以为这样初始化应该也行..所以跑去试下..

你的那篇资料我认真的看过了..那些我之前都看过,能理解..谢谢你的提点
------其他解决方案--------------------
真的是辛苦楼上的各位了..是我自己犯2了...

string name;

var people=new{name=1};

这2个name完全不是同一个对象...就是这么回事了...

这次真的傻得可以了...