首页 新闻 会员 周边 捐助

谁能解释一下这个语法

0
悬赏园豆:15 [已解决问题] 解决于 2015-08-25 07:47
public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            SubmitToCart(shouldGoBackToMake: true);
        }


        public void SubmitToCart(string giftFlag = "false", bool shouldGoBackToMake = false)
        {
            bool yy = shouldGoBackToMake;
            string xx = giftFlag;
        }
    }

 

谁能解释一下这个语法:

 

 SubmitToCart(shouldGoBackToMake: true);

Sam Xiao的主页 Sam Xiao | 初学一级 | 园豆:6
提问于:2015-08-24 09:08
< >
分享
最佳答案
0

为指定的参数传参,而不是参数位置

收获园豆:7
吴瑞祥 | 高人七级 |园豆:29449 | 2015-08-24 09:12
其他回答(4)
0
收获园豆:2
clarlespeng | 园豆:469 (菜鸟二级) | 2015-08-24 09:15
1

已亲测,这个是可选参数,下面的方法声明时已初始化过参数,调用的时候可根据需要传参。。

 private void Btn_CkParam_Click(object sender, EventArgs e)
        {
            AutoParam(param1: "hehe");
            AutoParam(flag: true);
            AutoParam("hehe", true);
        }

        private void AutoParam(string param1="default_1",Boolean flag=false)
        {
            MessageBox.Show(String.Format("参数1:{0}\n参数2:{1}",param1,flag));
        }

 

3种调用发发都是可以的

收获园豆:2
杰哥*糖鸡屎 | 园豆:59 (初学一级) | 2015-08-24 09:31
0

public void SubmitToCart(string giftFlag = "false", bool shouldGoBackToMake = false){...}

这个方法的参数都给了默认值,为可选参数,即使你不给任何参数也可以调用此方法。

当调用此方法想给第二个参数赋值,就得再调用的时候指定参数名SubmitToCart(shouldGoBackToMake: true);

收获园豆:2
at小怪兽 | 园豆:760 (小虾三级) | 2015-08-24 09:59
0

指定参数名称,可以按无序方式传参

foo(p1:100,p2:20,p3:"hello")

收获园豆:2
gw2010 | 园豆:1487 (小虾三级) | 2015-08-24 15:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册