C# 常用关键字说明

一:params参数

  1、params 是C#的关键字, params主要是在声明方法时参数类型或者个数不确定时使用。关于params 参数数组,在使用时,需注意以下几点:
1) 参数数组必须是一维数组;  
2)不允许将params修饰符与ref和out修饰符组合起来使用;   
3)与参数数组对应的实参可以是同一类型的数组名,也可以是任意多个与该数组的元素属于同一类型的变量;  
4)若实参是数组则按引用传递,若实参是变量或表达式则按值传递;  
5)用法:可变的方法参数,也称数组型参数,适合于方法的参数个数不知的情况,用于传递大量的数组集合参数;当使用数组参数时,可通过使用params关键字在形参表中指定多种方法参数,并在方法的参数表中指定一个数组;
6)形式为:方法修饰符 返回类型 方法名(params 类型[] 变量名)。

  2、使用举例一

public async Task<IActionResult> Index()
{
	UseParams("abc", "bcd", "cde"); //既可以用任意多个int
	var myArray = new string[] {"zxc", "xcv", "cvb", "bnm"};
	UseParams(myArray); //也可以是int一维数组

	UseParams2(1, 'a', new object());//类型不定
	return View();
}

public static void UseParams(params string[] list)
{
	for (int i = 0; i < list.Length; i++)
	{
		Console.WriteLine(list[i]);
	}
	Console.WriteLine();
}

public static void UseParams2(params object[] list)
{
	for (int i = 0; i < list.Length; i++)
	{
		Console.WriteLine(list[i]);
	}
	Console.WriteLine();
}

  3、使用举例二

static void Main(string[] args)
{
	int sum = GetSum(5,5,4,6,10) ;
	Console.Write(sum);
}

public static int GetSum(params int[] Input)
{
    int sum = 0;
    for (int i = 0; i < Input.Length; i++)
    {
        sum += Input[i];
    }
    return sum;
}

二:out参数

  1:如果你在一个方法中,返回多个相同类型的值得时候,可以考虑返回一个数组。但是,如果返回多个不同类型的值得时候,返回数组就不行了,那么这个时候,我们可以考虑使用out参数。

  2:使用举例


static void Main(string[] args)
{
	//GetMaxMinSumAvg_2的使用
	int[] numbers = {99,1,2,3,5,4,8,7,9};
	int max = 0;
	int min = 0;
	int sum = 0;
	int avg = 0;
	
	GetMaxMinSumAvg_2(numbers,out max,out min ,out sum,out avg);
}


public static void GetMaxMinSumAvg_2(int[] nums, out int Max, out int Min, out int Sum, out int Avg)
{
    Max = nums[0];
    Min = nums[0];
    Sum = 0;
    for (int i = 0; i < nums.Length; i++)
    {
        if (nums[i] > Max)
        {
            Max = nums[i];
        }
        if (nums[i] < Min)
        {
            Min = nums[i];
        }
        Sum = Sum + nums[i];
    }
    Avg = Sum / nums.Length;
}

三:ref参数

  1:能够将一个变量带入一个方法中进行改变,改变完成后,再讲改变后的值带出方法。ref参数要求在方法外必须为其赋值,而方法内可以不赋值。

  2:使用举例

static void Main(string[] args)
{
    double salary = 10000;
    Jiangjin(ref salary);
    Console.WriteLine(salary);
    FaKuan(ref salary);
    Console.WriteLine(salary);
}

public static void Jiangjin(ref double s)
{
    s = s + 2000;
}
public static void FaKuan(ref double s)
{
    s = s - 1000;
}

  3:运行结果

12000
11000
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值