黑马程序员技术交流社区

标题: 迷惑了很久的问题 [打印本页]

作者: 乔利柱    时间: 2012-10-21 18:49
标题: 迷惑了很久的问题
本帖最后由 乔利柱 于 2012-10-22 09:47 编辑

class OutReturnExample
{
     static void Method(out int i, out string s1, out string s2)
     {
         i = 44;
         s1 = "I've been returned";
         s2 = null;
     }
     static void Main()
     {
         int value;
         string str1, str2;
         Method(out value, out str1, out str2);
         // value is now 44
         // str1 is now "I've been returned"
         // str2 is (still) null;
     }
}
我知道这个是返回值方法,但是一直迷惑于这三个方法之间的关系?上面的Method()方法 和中间的 Main()方法 还有下面返回值的Method()方法, 这三个方法有关系吗?有包含 被包含的关系吗?还是别的逻辑关系?
还有就是什么情况下才能用到 传参和返回值的方法?

作者: 康子龙    时间: 2012-10-21 18:57
这个不存在什么包含和被包含的关系吧,上面的Method()是对其本身的方法定义,Main()和Method()方法的关系只是Main()调用了Method()方法而已,所以下面的Method()只是代表Main()调用了它,然后会执行Method()内的逻辑运算。
我是这么理解的
作者: 康子龙    时间: 2012-10-21 19:00
至于什么时候用到传参和返回值,这就要具体问题具体分析了吧。情况多的去了,比如你写的这个你是想通过Method方法来对三个变量进行运算,然后把一个你想要的一个结果作为返回值。这么写会使程序的可读性和逻辑性更强一些。要是再往上说也可以说是程序的可维护性会加强,耦合度会降低
作者: 黑马杨锦喜    时间: 2012-10-21 23:23
泪奔了去。说说我的想法

第一个Method()方法是普通的静态方法;
Main()函数一般是程序的入口,是静态类的;
在Main函数里面调用了Method()这个静态方法,另外注意静态方法或静态类不能调用非静态方法的,

至于传参和返回值,相当我给你钱,你帮我办事,返回值就是我需要得到产品,void就是没有返回值,就是你帮我办好事就行了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2