C#的可选参数,为什么一定要放在参数列表的最后? 我没看出来,为什么C#要搞这样的一个限定。这种限制的意义究竟在于什么呢?是编译器的实现更容易,还是说,不这么限定,会出什么乱子? ------解决方案-------------------- 因为可选参数可以不写。
如果放在中间,你怎么知道哪个参数对应哪个?比如
void foo(int a, int b = 0, int c, int d = 0);
调用
foo(1, 2, 3);
到底2是c 3是d还是2是b 3是c? ------解决方案--------------------