方法重载】C#中,单纯的使用ref和out修饰符,能否构成方法重载? 比如void Add(ref int a){}与 void Add(out int a){}是否能够够成重载呢?

2020-04-01 18:24发布

3条回答
Transform
1楼 · 2020-04-02 02:20.采纳回答


  1. 1.构成重载的充分必要条件是方法名相同,参数不同(参数个数不同、参数类型不同、不同类型参数的顺序不同)

  2. 2.此需求中两个形参都为int 类型,无法构成重载。改变其中一个int为其他类型即可。

  3. 3.使用out参数需要注意,一定要对形参赋值。

所以,能否够成重载和用什么引用类型参数修饰是没有关系的。望楼楼采纳。

听雨
2楼 · 2020-04-01 19:15

void Add(ref int a){}与 void Add(out int a){}这种形式是无法构成重载的,但void Add(ref int a){} 与void Add(int a){}则可以构成重载

蜗牛
3楼 · 2020-04-01 19:29

重载,方法名相同参数不同,可以构成重载。但是void Add(ref int a){}与 void Add(out int a){}不能构成重载。void Add(ref int a){}与 void Add(out float a){}则可以

相关问题推荐

    没有解决我的问题,去提问