在Visual Studio 2010中,“高级构建设置”下有“语言版本”的以下选项:
- 默认
- ISO-1
- ISO-2
- C# 3.0
唯一应该涉及它的时候是你在使用VS 2010等编写代码,但你想让代码能够在早期的编译器(如VS 2005或VS 2003)上编译。这将限制语言功能,例如LINQ(仅在C#3中),迭代器块(仅在ISO-2及以上版本中)等。
即使如此,它也不是很健壮; 有一些功能检测起来相当棘手,并且不会被检测到 - 某些形式的通用类型推断受到影响,因此您仍应针对早期的编译器进行测试。
除非你有理由,否则请使用"default"。通常,“默认情况下”会选择默认选项。如果它选择了ISO-1,则说明您在某个时刻更改了VS设置。
通常不会与此相关联速度差异 - 它与可用的语言有关; 但是,我尚未检查某些微妙的情况,例如如果早期的编译器被选中,那么类似字段的事件实现是否会恢复到旧方式。
保留默认设置即可,这意味着您可以使用所有C# 3.0语言功能。
按下"F1"键,将会弹出:
http://msdn.microsoft.com/en-us/library/f4ckecs0(v=vs.110).aspx
default
... - AakashM