码迷,mamicode.com
首页 > Web开发 > 详细

.net基础扫盲-params

时间:2015-01-30 19:41:23      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:c#   params   

先看这样一个方法

        public voidPrintTest(string word)
        {
            Console.WriteLine("{0}",word);
            Console.ReadKey();
        }

此时该方法,只能打印出 word 包含的字符,如果要对打印出的word包含的字符走出调整,那就在使用调用该方法之前去修改word变量。那有什么好办法让我们如何在调用方法时,随意控制参数的数量呢。看params是怎么实现这一点的。

看经过优化后的  PrintTest方法:

        public void PrintTest(params string[]words)
        {
            String word="start"+strPersonal;
            if (words != null)
            {
                for (int i = 0; i <words.Count(); i++)
                {
                    word = word + ","+ words[i];
                }
            }
            Console.WriteLine("{0}",word);
            Console.ReadKey();
        }

在调用方法的时候,如是写:

MyTest.PrintTest("哼"); ——输出:哼
MyTest.PrintTest("哼","哈");——输出:哼,哈
MyTest.PrintTest("哼","哈", "哼哈");——输出:哼,哈,哼哈

还可以这么写:

string[]words = new string[] { "哼", "哈", "哼哈" };
MyTest.PrintTest(words); ——输出:哼,哈,哼哈

          一般来说,参数个数都是固定的,.NET提供了更灵活的机制来实现可变数目参数,这就是使用params修饰符。可变数目参数的好处就是在某些情况下可以方便地对参数个数不确定情况的实现,例如计算任意数字的加权和,链接任意字符串为一个字符串等。

当使用params的时候,还要注意一些地方,

1、params修饰的参数必须为一维数组。

2、params修饰的参数数组,可以为任何类型,只要设置数组类型为object就可以。

3、params必须在参数列表的最后一个,并且只能使用一次。 

.net基础扫盲-params

标签:c#   params   

原文地址:http://blog.csdn.net/chenjinge7/article/details/43310631

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!