C#中参数返回问题,如果想要在函数b中调用a的内部参数m,n,p。该怎么改正下面这个程序呢?

static void a() { double m; double n; double p; } static void b() { //一串代码 }
2025-05-19 13:47:42
推荐回答(6个)
回答1:

最好的办法是使用类;
其次你可以这样修改函数a;
static double a(char c)
{
double m;
double n;
double p;
if(c=='m'){return m;}
else if(c=='n'){return n;}
else{return p;}
}
在b中就可以使用了
static void b()
{
double M=a('m');
double N=a('n');
double P=a('p');

//一串代码
}
//全天在线可以详谈

回答2:

static void a(ref double o,ref double b,ref double c)
{
double m=0;
double n=0;
double p=0;
o=m;b=n;c=p;
}
static void b()
{
//一串代码
double o,b,c;
a(o,b,c);
}

回答3:

应该无法实现,函数a()的内部参数作为范围是a()函数,不能在别的函数中调用。

回答4:

我举个例子说吧,比如说你要返回一个整型的值
public static int a()
{
int m=3;//赋初值为3
return m;
}
在方法b中调用方法a返回的值
public static void b()
{
int s=this.a();
Response.Write(s);
}
看下我说的是不是你心中想要的

回答5:

这个应该是局部变量的使用,你把局部变量定义在外面就可以用了

回答6:

一楼可行,要在一个方法中返回多个值可以用ref参数活着out类型参数,当然为了方便你可以变通的通过定义一个数组(或者list)把a方法中的m,n,p都放到这个数组中返回也是可以的,祝你好运!