Microsoft如何决定在C#中使用static / member?

前端之家收集整理的这篇文章主要介绍了Microsoft如何决定在C#中使用static / member?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到FCL中有许多静态方法只影响单个对象,例如Array.Resize.让它们变得静止的重点是什么?

解决方法

实例方法只能修改对象的成员属性.在您的Array.Resize示例中,该方法修改了数组引用本身,这就是它为静态并通过引用获取参数的原因.

当你这样做:

int[] arr = ...;
Array.Resize(ref arr,10);

arr引用本身被修改,这在arr上调用方法是不可能的.

或者,在诸如Java之类的语言中,它不支持通过引用传递,它将被声明为返回新数组.

猜你在找的Windows相关文章