C# 文件的结构会影响编译的内容吗?
例如,成员的顺序(根据它在文件中的位置)会影响编译的类吗?
根据我前几天阅读的 Eric Lippert 的一篇博客文章,编译器不保证同一源代码的两次编译最终会产生相同的 IL。不过,这与方法排序无关,但我认为这也适用 - 所以,我认为在编译的类中假设任何方法排序是不安全的。我也不希望源文件方法排序和 IL 方法排序之间有任何联系。
虽然在大多数情况下顺序并不重要,但匿名类型并非如此:
new{a=1,b=2}
创建一个不同的、不兼容的类型
new{b=2,a=1}
不保证成员的顺序。