C#一个方法返回2个值

我想用一个名为计算的方法返回2个值,一个圆面积,一个圆周长。这样如何写啊?谢谢。... 我想用一个名为计算的方法 返回2个值,一个圆面积,一个圆周长。这样如何写啊?谢谢。 展开
 我来答
匿名用户
推荐于2017-11-25
展开全部
你要么返回数组,要么使用ref、out。

1、返回数组方式:
public int[] Fun(){...}
至于数组中哪个是面板哪个是周长只能自己约定
2、ref或out方式,你这种情况用out即可
public void Fun(out s,out l){
l=...//计算周长
s=...//计算面积
}
在你的方法中计算完成后将面积的结果赋值给s,周长赋值给l
调用时:
int s,l;
Fun(out s,out l);
然后s,l就是面积和周长。
更多追问追答
追问
大神,能不能简单写下。小白,不明白你这样说的。谢了。
如何输出
圆面积是{}
圆周长是{}
追答

上面少写了参数,再清楚一些完整的示例就是:


public void 计算面积(out int 面积,out int 周长,int 长,int 宽){
面积=长*宽;
周长=2*(长+宽);
}
//调用
int 面积,周长;
计算面积(out 面积,out 周长,10,5);
Console.WriteLine("面积="+面积);
Console.WriteLine("周长="+周长);



但你可能需要传递计算周长或面积的其它参数,比如长、宽,这个你自己加。我只说这里的out是什么意思。一个参数加了out后,在你的方法体内改变这个参数的值后,

pinxiongcn
2013-07-25 · 超过10用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:45.2万
展开全部

有两种方式:

第一种:采用引用,示例如下:

void Fun(out double area,out double perimeter)
{
    //计算面积和周长并将面积赋值给area,周长赋值给perimeter
}

void Fun(ref double area,ref double perimeter)
{
    //计算面积和周长并将面积赋值给area,周长赋值给perimeter
}

第二种:

public class Info
{
     public double area;
     public double perimeter;
}

Info Fun()
{
    Info info=new Info();
   //计算面积和周长并将面积赋值给info.area,周长赋值给info.perimeter
    return info;   
}

个人推荐采用第二种,可扩展性好

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qy243877414
2013-07-25 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:145
采纳率:0%
帮助的人:115万
展开全部
方法一.重新建一个新实体类,声明变量字段,可以放你所有的字段,周长,面积,半径, 等等你有用的字段,然后写个方法,传入你要计算测参数给你那个方法,在把你的计算值赋给这个实体类实例的添加方法返回一个对象,需要占内存,把这两个值放到数据库中;
方法二就是你写个方法用type区别计算两次,或写两个方法
方法三已字符串形式拼接返回前台用js截取赋值都行。
如果是后面一直要用这两个值的话,个人建议用第一种,这就看你前台的需求你了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Ben
2015-07-03 · 知道合伙人软件行家
Ben
知道合伙人软件行家
采纳数:860 获赞数:2875
认真回答者.

向TA提问 私信TA
展开全部
第一种方法:返回类型改变

Public Dictionary<string,object> XXX()
{}

那么返回的这个字典就能包含多个了

第二种就是使用Out或Ref关键字传输出来
例如
Public void XXX(out p1,ref p2)
{
}

那么通过传参就能够拿到多个返回值了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小孟6754
2013-07-25 · TA获得超过196个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:251万
展开全部
3种思路:
1:可以将你要返回的多个值当作是一个对象的多个属性,直接返回对象,达到最终结果
2:加ref
3:如果2个值是一个类型,可以考绿用数组,集合。。意思是一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式