理清版本间的关系
在开发领域,各要素存在着许多不同的版本。你要能够区分Visual Studio(集成开发环境)、C#(编程语言)和.NET(框架)的各个版本。尽管单独讨论这些元素而不涉及其他方面颇有挑战,但我会试着做到这一点… 另外,我在此不会讨论CLR(公共语言运行时)的版本,因为大部分开发者实际上不需要对此有深入了解。
方法重载是指你有两个相同名称但不同签名的方法。在编译时,编译器会根据方法调用的目标和参数的编译时类型来决定要调用哪一个方法。(假设你没有使用 dynamic,这会使情况稍微复杂一些。)
本文用于指导在一些特殊情况下该如何做。也就是,您在某处(通常是数据库)有一些字符数据,这些数据需要经过几个步骤,最终显示给用户(通常在网页上)。不幸的是,有些字符会显示异常。由于涉及多个步骤,问题可能出现在多个地方。本文旨在帮助您简单、可靠地找出问题所在。
最近在工作的时候碰到了一个关于MeshCollider的问题,情况是这样的:需求是在游戏中存在一个绕自身Y轴旋转的三角形障碍,类似下图:

你觉得你能准确预测C#初始化发生的时间吗?这可比你想象的要复杂得多…
请注意,所有结果都是我在C#编译器和CLR的某些(现在还没说明)组合上看到的。你可能会观察到不同的行为,而这些行为仍然遵循规范规定的内容。随着平台和实现的组合越来越多,想要穷尽也没啥意思。