可选参数 和 TryParse用法(C#)

本文介绍了可选参数的概念及其使用注意事项,展示了如何通过可选参数减少方法重载的需求,并提供了具体的编程示例。

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

可选参数的概念是:

使用了可选参数的方法在声明方法时将常量值赋给参数,以后调用该方法就不需要每个参数都指定了。


可选参数有一些注意点:

1.可选参数一定程度上解脱了一些情况下必须重载的需求。

2.可选参数一定要放在所有的参数最后。

3.可选参数可以有多个,但都必须排列放在所有参数的最后。

4.方法的所有参数都可以是可选参数

5.可选参数的默认值必须是常量(即必须在编译时确定的值)


看下面的例子:

public ParameterExample()
{
    this.InitializeComponent();

    //虽然BuyPhone方法定义有三个参数,但仍调用BuyPhone方法
    //这里的price就是可选参数,如果不指定,就使用声明时赋给price的值;ScreenSize参数也是同理
    txtblk.Text = BuyPhone("微软");
}

//BuyPhone存在两个可选参数:price,ScreenSize
static string BuyPhone(string brand, int price = 9999,double ScreenSize = 5.5)
{
    string result = "我要买" + price +"元" + ScreenSize + "寸的" + brand + "手机";
    return result;
}

//这边只是一个示例,说明方法的所有参数都可以是可选参数
//调用时:BuyComputer() -- 我要买13888元12.3寸的Surface Pro电脑
//调用时:BuyComputer("yoga") -- 我要买13888元12.3寸的yoga电脑
//调用时:BuyComputer("XPS",15888) -- 我要买15888元12.3寸的XPS电脑
//调用时:BuyComputer("Surface Book",20888,13.0) -- 我要买20888元13寸的Surface Book电脑
static string BuyComputer(string brand = "Surface Pro",int price = 13888, double ScreenSize = 12.3)
{
    string result = "我要买" + price + "元" + ScreenSize + "寸的" + brand + "电脑";
    return result;
}

private void RadioButton_Checked(object sender, RoutedEventArgs e)
{
    int price;
    RadioButton radioBtn = sender as RadioButton;
    string priceStr = radioBtn.Content.ToString().Substring(0, radioBtn.Content.ToString().Length - 1);
    //顺便注意一下TryParse的用法,在与Parse方法执行相同的操作下,使用TryParse往往会好一些
    //Parse转换错误需要用try/catch来捕获异常,而TryParse方法显式返回bool型结果,通过out参数返回转换好的结果
    if(int.TryParse(priceStr,out price))
    {
        //虽然BuyPhone方法有三个参数,但仍调用该方法,并只指定前两个参数,因为ScreenSize也是可选参数
        txtblk.Text = BuyPhone("微软",price);
    }
}

结果截图:

初始画面:


选择一个单选按钮后:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值