C#之数组参数、扩展方法(this参数)

  1. 数组参数
    string.Format()是一个我们常用的字符串拼接方法
string str = string.Format("Hello,{0},my name is {1},and i'm {2} years old","Xiaoming","Wednesday","9");

在上面的字符串中,我们可以加入任意个参数,这就是我们最常见的数组参数,在上面的例子中,“Xiaoming”,“Wednesday”,"9"编译器会自动为我们保存成一组数组,这就是我们在用这个方法时,为什么可以加入任意个参数的原因

自定义数据参数:

//在参数的数据类型前,加上params关键字,这个参数就成为了数组参数
public int Sum(params int[] intArray)
{
	int sum = 0;
	foreach(var item in intArray)
	{
		sum += item;
	}
	return sum;
}

static void Main(string[] args)
{
	//调用方法时,不需要再New一个数组,可以传递任意个int类型的参数
	int x = sum(1,2,3,4,5,6,7,8);
}

需要注意的是,数组参数必须是方法参数的最后一个

  1. 扩展方法(this 参数):为目标数据类型"追加"方法
//定义一个Double类型的参数
double x = 3,14159;
//给参数从小数点第四位开始四舍五入,需要用到Math类的Round方法
double y = Math.Round(x,4);

那么我们是否可以让Double类型的参数具有自己的Round方法呢
当然可以,那就是我们的扩展方法:

//创建一个静态类
static class DoubleExtension
{
	//扩展方法必须由一个静态类来统一收纳对SomeType类型的扩展方法
	//一般类名为SomeTypeExtension
	//扩展方法必须是共有的、静态的	
	//扩展方法的this参数,必须是形参列表中的第一个,由this修饰
	public static double Round(this double input, int digits)
	{
		return Math.Round(input,digits);
	}
}

class Progrme
{
	double x = 3,14159;
	//创建好扩展方法后,四舍五入时,我们就可以直接使用了
	double y = x.Round(x,4);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值