[转载]C#4.0中的可选参数和命名参数_陈焜浩Arain_新浪博客

本文介绍了C#4.0中新引入的可选参数和命名参数特性。通过实例展示了如何使用这些特性简化方法调用,并解释了它们的工作原理及限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近看C#4.0,发现到可选参数和命名参数这两个之前没有过多了解的特性,研究了一下,然后就给自己留个学习笔记。
可选参数是从 C#4.0后添加上的,调用方法时不必指定每个参数,但可选参数必须放在必要参数(无默认值的参数)之后,而且可选参数要有默认值。因为有默认值,可选参数的应用也有不少限制,但加上命名参数就会大有用途。
static void Main( string[] args)
        {
//只传入一个参数"parameter1"
            OptionalPars( "parameter1");
            Console.ReadKey();
        }
//定义OptionalPars方法,必要参数parameter1,可选参数parameter2和parameter3
//如果可选参数没有默认值的话,
static void OptionalPars( string parameter1, string parameter2= default( string), string parameter3= default( string))
        {
            Console.WriteLine( "parameter1={0}nparameter2={1}nparameter3={2}", parameter1, parameter2, parameter3);
        }
调试结果:
[转载]C#4.0中的可选参数和命名参数
我们尝试填入两个参数:
static void Main( string[] args)
        {
//一样调用OptionalPars()方法,传入两个参数"parameter1""parameter2"
            OptionalPars( "parameter1", "parameter2");
            Console.ReadKey();
        }
调试结果:
[转载]C#4.0中的可选参数和命名参数
这时调试也成功。其实很容易理解, 可选参数就是已经赋值的参数罢了,因为已被赋值,所以在方法调用中不用填写 可选参数,但必要参数 (无默认值的参数)就一定要传值。

命名参数最突出的就是不用按照参数顺序来给参数传值,结合上面的例子演示一下。

static void Main( string[] args)
        {
//运用命名参数给参数传值,格式为 [参数]:[值]
            OptionalPars(parameter2:   "parameter2" );
             Console.ReadKey();
        }
//这次我将三个参数都赋了默认值default(string)。
static void OptionalPars( string parameter1=default(string) , string parameter2= default(string) ,string parameter3= default(string) )
        {
            Console.WriteLine( "parameter1={0}nparameter2={1}nparameter3={2}", parameter1, parameter2, parameter3);
        }
调试结果:
[转载]C#4.0中的可选参数和命名参数
运用 命名参数可变参数,我们可以任不按顺序地给若干参数赋值(在允许的范围内)


本人第二篇博文,初学C#,水平有限,请大家多多指教。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值