c#中方法的参数可以有哪几种传递方式

 我来答
季子娱天下
高粉答主

2018-05-22 · 娱乐之人方能快乐于己
季子娱天下
采纳数:300 获赞数:38029

向TA提问 私信TA
展开全部

c#中方法的参数可以有三种传递方式,方式如下:

1、传入一个大小为2的一位数组来传递最大值和最小值。

using System;  

using System.Collections.Generic;  

using System.Linq;  

using System.Text;  

namespace ConsoleApplication3  

{  

class Program  

{  

static void Main(string[] args)  

{  

Program p = new Program();  

int maxa = 0,mina =0;  

int []array = new int[5]{1,2,3,4,5};  

int[] array2 = new int[2];  

p.getMaxandMin(array, array2);  

Console.WriteLine("最大值为" + array2[0]);  

Console.WriteLine("最小值为" + array2[1]);  

Console.Read();  

}  

public  void   getMaxandMin(int[] array,int []array2)  

{  

int max = array[0];  

int min= array[0];  

for (int i = 0; i < array.Length; i++) {  

if (array[i] > max) {  

max = array[i];  

}  

if (array[i] < min) {  

min = array[i];  

}  

}  

array2[0] = max;  

array2[1] = min;  

}  

}  

}  

2、传入一个对象来传递数组的最大值和最小值。

using System;  

using System.Collections.Generic;  

using System.Linq;  

using System.Text;  

namespace ConsoleApplication3  

{  

class Program  

{  

private int max;  

private int min;  

static void Main(string[] args)  

{  

Program p = new Program();  

p.max = 0;  

p.min = 0;  

int []array = new int[5]{1,2,3,4,5};  

p.getMaxandMin(array, p);  

Console.WriteLine("最大值为{0},最小值为{1}", p.max,p.min);  

Console.Read();  

}  

public  void   getMaxandMin(int[] array,Program p2)  

{  

int max = array[0];  

int min= array[0];  

for (int i = 0; i < array.Length; i++) {  

if (array[i] > max) {  

max = array[i];  

}  

if (array[i] < min) {  

min = array[i];  

}  

}  

p2.max = max;  

p2.min = min;  

}  

}  

}  

3、用ref 指针来传递参数 。

namespace ConsoleApplication3  

{  

class Program  

{  

private int max;  

private int min;  

static void Main(string[] args)  

{  

Program p = new Program();  

int max1=0;  

int min1=0;  

int[] array = new int[5] { 1, 2, 3, 4, 5 };  

p.getMaxandMin(array, ref max1, ref min1);  

Console.WriteLine("最大值为{0},最小值为{1}",max1, min1);  

Console.Read();  

}  

public void getMaxandMin(int[] array, ref int max,ref int min)  

{  

max = array[0];  

min = array[0];  

for (int i = 0; i < array.Length; i++)  

{  

if (array[i] > max)  

{  

max = array[i];  

}  

if (array[i] < min)  

{  

min = array[i];  

}  

}  

}  

}  

}  

av...5@sohu.com
2017-04-11 · TA获得超过326个赞
知道小有建树答主
回答量:446
采纳率:25%
帮助的人:56万
展开全部
答案:1.按值传递:Value2.按址传递:ref3.传出参数:out4.可变参数:params
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式