在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Unity 5.3.5p8的C#编译器升级注意:该版本是单独升级C#编译器的测试版!请使用文中提供的下载链接! 基于Unity 5.3.5p8的C#编译器升级!下载链接 试用该版本前请先备份项目,遇到任何问题请及时反馈到Unity官方中文社区(http://forum.china.unity3d.com/)。 新升级的Mono C#编译器(对应Mono 4.4)将用于编译所有的C#脚本。 重要注意事项Unity编辑器及播放器所使用的Mono运行时还未升级。 这只是升级Mono/.Net迈出的第一步。 FAQ对现有项目有何影响?该升级应该能够“正常工作”,它并未添加任何新功能。不会对现有项目带来任何影响,还有些小益处。新的Mono和C#编译器与之前相比运行速度普遍更快,而且修复了多年以来的Bug。 有什么需要注意的?理论上有可能在运行时产生奇怪的问题。但我们自己测试的过程中并未发现。 大多数情况下都会在编译时发现问题。目前为止我们遇到的情况有: 另外,如果你经常使用MonoDevelop或VSTU(Visual Studio Tools for Unity)调试C#代码,那欢迎向我们反馈你遇到的任何问题。编译器输出结果应该是一致的,但调试器可能对于某些生成的代码模式会很敏感。 有什么重大变化吗?新编译器有一处已知的重大变化,就是闭包获取foreach变量的方式,这是由C#语言团队做出的改变。也就是说,如下代码将输出“b a r”而非目前的“r r r”:
使用较新的VS或Mono均会得到这样的结果,这也是目前WSA平台所表现的行为,具体细节请看: https://msdn.microsoft.com/en-us/library/hh678682(v=vs.110).aspx 是否修复了“foreach”内存分配的问题?某些情况下是的,问题描述请看: http://stackoverflow.com/questions/18552669/memory-allocation-when-using-foreach-loops-in-c-sharp 对Array、List 为何不面向C# 5或C# 6?第一步我们希望先推出新的编译器。未来再启用新的C#特性。 支持C#语言新特性面临的几个问题: 资料文献原文出处:http://forum.china.unity3d.com/thread-19893-1-1.html |
请发表评论