黑马程序员技术交流社区

标题: 求解 参数的传递问题 [打印本页]

作者: 黑色L    时间: 2013-10-4 17:50
标题: 求解 参数的传递问题
方法调用反法怎么传参数
作者: 七里香    时间: 2013-10-4 19:26
问题是什么啊?说清楚点
作者: 追梦无悔    时间: 2013-10-4 21:17
问题有点不太明确。。。。。。。。{:soso_e101:}
作者: guo329838627    时间: 2013-10-6 20:40

  1. //调用
  2. string Str="内容";
  3. Bind(Str);//此处的类型要与底下的参数类型相同!

  4. //方法
  5. public void Bind(string obj)
  6. {
  7. Console.Write(obj);
  8. }
复制代码

作者: 我一直在等待    时间: 2013-10-8 19:16
你的意思是 方法调用方法怎么传参数吧?
这就要看你方法里面需要是什么类型的数据了!
比较你A方法调用B方法。如果B方法需要的是INT类型 你就可以这样写
B(1);   括号里写任何INT类型的都可以。变量是INT类型的也可以。  其它类型类似

作者: 荣右铭    时间: 2013-10-8 20:28
方法调用方法的话,看你是想怎么用,从最外层传参数的话,就在最外层函数的调用里定义那个参数,然后一层一层往下传,我这样说你可能还不明白:
void func(int i){
       func2(i);
}
voif func2(int i){
      func3(i)
}
或者你弄一个作用域全局的变量也可以
作者: 追溯客    时间: 2013-10-8 20:28
当调用者想访问我们方法中的变量时,可以通过返回值返回.
例如:
string s=Console.ReadLine()
int i= Convert.ToInt("22")
为什么方法前面能定义一个变量接受方法的值,是因为方法中使用了返回值
只要在方法中返回了值,那么在调用方法是,前面就应该用一个变量来接受方法的返回值
为什么使用返回值?因为变量规定了类型而不再是隐性
注意:一个方法只能有一个返回值
一旦一个方法有返回值,那注在这个方法值中,就必须通过rerurn语句返回一个值,并且这个值要与返回值类型是同样的
语法:
return result;
作者: 追溯客    时间: 2013-10-8 20:28
在方法名后面的括号内定义变量,叫做定义这个方法的参数.这里定义的变量用于接受调用者传过来的数据
注意:如果一个方法一旦有参数,那么调用者就必须传参数,并且传参数的个数与对应位置上的类型必须一致
        static void Main(string[] args)
        {
            int a = 3;
            Text(a);
            Console.WriteLine(a);
            Console.ReadKey();
        }
        //被调用者
        public static void Text(int a)   
        {
            a = a + 3;
            Console.WriteLine(a);
        }

求两个整数的和(隐性)
        static void Main(string[] args)
        {
            Add(3,6);
            Console.ReadKey();
        }
        public static void Add(int a, int b)
        {
            Console.WriteLine("a+b={0}",a+b);
        }
作者: lgh521911    时间: 2013-10-8 21:30
        在方法中定义的变量称为局部变量。其作用域从类或方法的大括号开始到反大括号结束。
为了在类中的方法能够调用主函数(主要的方法,也就是main主程序)中定义的变量。可以用传参的方法传递。在方法中定义变量作为形参,形参用于接收主函数中传递过来的数据。一个方法一旦有形参那么主函数中就必须传参数,并且传参数的个数与对应位置上的类型必须一致。.parse()方法,类型转换方法。
        方法与返回值的实例:
        提示用户输入信息,当用户输入y时关闭程序,输入其他字符提示错误并请用户重新输入
        Static void main(string[] args)                        //程序主窗口
{
                Console.writeline(“确定是否要关闭,关闭输入y”);
                ReadAnswer();                                        //调用方法
                Console.readkey();
}
        Public static void  ReadAnswer()                //定义一个方法,存储循环字段
{
        String result=””;                                //定义字符串变量,接收数据
        Do                               
        {
                Result=console.readline();                //变量接收用户输入数据
                If(result!=”y”)                                        //定义条件语句,判断用户输入结果
                {
                        Console.writeline(“输入的数据有误,请重新输入:”);
                }
        }
        While(result!=”y”)                                //定义循环,数据错误时循环提示
}
        当主函数(主程序)向调用自定义方法中的变量时,可以用return返回值。当主函数想要忽的自定义方法中的变量值时,可以在主函数中定义一个变量来接收自定义方法中的变量。
一个方法只有一个返回值。一旦一个方法有返回值,那么在这个方法体中就必须通过return语句返回一个值,并且返回值的类型必须一致。
操作的首先改变自定义方法的返回值
                                Public static  void  ReadAnswer()                //定义一个方法,存储循环字段
更改为                        Public static  string  ReadAnswer()                //定义一个方法,存储循环字段
在自定义类循环结束后,返回变量值:
Return result;
在主函数中接收数值,注意数值类型一致。
Static void main(string[] args)                        //程序主窗口
{
                Console.writeline(“确定是否要关闭,关闭输入y”);
                String s=ReadAnswer();                                        //调用方法
                Console.readkey();
}

作者: 祐掱緣    时间: 2013-10-10 16:17
//调用
string Str="内容";
Bind(Str);//此处的类型要与底下的参数类型相同!

//方法
public void Bind(string obj)
{
Console.Write(obj);
}
四楼正解:想要接收参数就得定义参数,参数写在小括号里面,传递的参数一样放小括号里面
作者: 夢醒了⊙﹏⊙b心    时间: 2013-10-11 21:52
使用delegate委托
作者: 夏闯富    时间: 2013-10-12 09:48
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;

  6. namespace 方法_传参
  7. {
  8.     class Program
  9.     {
  10.         static int  result;
  11.         static void Main(string[] args)
  12.         {
  13.             int Result = 加法(1,2);
  14.             Console.WriteLine(Result);
  15.             int m = 2;
  16.             int n = 3;
  17.             Result = 乘法(m,n);
  18.             Console.WriteLine(Result);

  19.             Console.ReadKey();
  20.         }
  21.         
  22.         public static int 加法(int i, int j)
  23.         {
  24.             result = i + j;
  25.             return result;
  26.         }
  27.         public static int 乘法(int a, int b)
  28.         {
  29.             result = a * b;
  30.             return result;
  31.         }
  32.     }
  33. }
复制代码
这是方法最基础的传参,注意:返回值的概念与传参的概念要区分开
方法传参的参数还包括带ref、params、 out等饰符的关键字等的用法




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