大猫那道题不妨把传入的不同的泛型看成不同的class。int,string和DateTime就是三个class,调用时生产成三个不同类型的instances。在大猫的例子里,static field是属于这三个不同类型的instances的,实际上是三个static fields。它们相互独立,所以结果是0,0,0。
而楼主的静态变量是class Program的,这个class是明确的,不会有不同类型的instances产生,所以他的变量是唯一的,多次调用后结果即为1,2,3。
希望我没说错。
当然看到结果分析原因要容易很多。用这做考题,还不能上机debug,有点不容易。这适合刚身经百战的学生做。记得上大学是时常常画内存的分配图。而好像老程序员都喜欢边debug边想原因,没人去画内存图了。
我认同你说的 "用的人只能跟着走", 尽量去理解其意图。
而楼主的静态变量是class Program的,这个class是明确的,不会有不同类型的instances产生,所以他的变量是唯一的,多次调用后结果即为1,2,3。
希望我没说错。
当然看到结果分析原因要容易很多。用这做考题,还不能上机debug,有点不容易。这适合刚身经百战的学生做。记得上大学是时常常画内存的分配图。而好像老程序员都喜欢边debug边想原因,没人去画内存图了。
我认同你说的 "用的人只能跟着走", 尽量去理解其意图。