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

来源:互联网 发布:淘宝闲鱼小二介入规则 编辑:程序博客网 时间:2024/05/17 02:11

可选参数的概念是:

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


可选参数有一些注意点:

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

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

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

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

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


看下面的例子:

public ParameterExample(){    this.InitializeComponent();    //虽然BuyPhone方法定义有三个参数,但仍调用BuyPhone方法    //这里的price就是可选参数,如果不指定,就使用声明时赋给price的值;ScreenSize参数也是同理    txtblk.Text = BuyPhone("微软");}//BuyPhone存在两个可选参数:price,ScreenSizestatic 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 0
原创粉丝点击