一个关于new的语法问题
- C# code
class a { public string strA; public string strB; public a(string sa, string sb){ this.strA = sa; this.strB = sb; }}//第一种a test = new a { strA = "abc", strB = "def" };//第二种a test = new a();test.strA = "abc";test.strB = "def";
我记得以前我用第一种写过,编译没有问题。
这段时间写一个项目,new一个类用的第一种方法,VS不报错,但编译却不行,报错说new后面需要(),[]之类的错误提示,所以没办法就改成了第二种。
是编译环境设置的关系还是framework版本关系?要求是什么?谢谢。
[解决办法]
这个看你在那个版本下vs里玩了
第一种叫对象初始化器在net3.0以上的版本在出现,也就是你在vs2008以下版本的vs里面有用不成,属于语法糖级别的东西
本质相同,只是编译器玩的语法糖以简化代码编写手段