之前一直只是知道有这么个参数修饰符,也知道用来干嘛的,但是基本就没用上。这几天好好整理了一下,发现ref的修饰符可以帮助简化很多代码。让我更深入的了解到面向对象的深沉含义。
自定义一个类中,类中的方法形式参数带上ref参数后,封装好。在其他类中引用时。其他类传入ref的实参后,不仅能够直接进行方法的运算,还能直接通过此实参判断该数据的变化情况。。
好处: 封装的类往往只能return一个参数 除非写上数组等 ,但是这样做烦琐复杂。使用ref简化代码。
再使用ref参数后,我们的调用类只需定义一个参数后,就能实时的查看此参数状态,非常方便。
一些bool型变量的操作处理会更直接省力。
举例:
//一般方法 static void Main(string[] args) { A a = new A(); bool myFlag = true; myFlag = a.show(myFlag); Console.WriteLine(myFlag); Console.Read(); } class A { public bool show(bool flag) { flag = false; return flag; } }
//ref方法 static void Main(string[] args) { A a = new A(); bool myFlag = true; a.show( ref myFlag); Console.WriteLine(myFlag); Console.Read(); } class A { public void show( ref bool flag) { flag = false; } }
--zyj 2015-6-26