zoukankan      html  css  js  c++  java
  • 灵活而又可怕的params参数数组

    某日,我们一项目重构,不小心为一个类增加了一个Delete(string key)的方法,编译通过,初看无恙,但一执行起来就不是那么回事了,仔细一查,才知道,类中有一个同名的重载方法,参数为一个params参数数组,难道是它作祟? 
      

    Msdn一下,果然如此:参考资料:params(C# 参考)http://msdn.microsoft.com/zh-cn/library/w5zay9db(v=VS.100).aspx

    也就是它可以接受如下代码里的各种参数,真是太灵活了,像个黑洞,有点可怕。

    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {

                LzdTools.Test("aaa");

                LzdTools.Test("aaa", "bbb");
                LzdTools.Test("aaa", "bbb", "ccc");

                string[] arr = { "ddd", "eee", "fff" };
                LzdTools.Test(arr);

                Console.ReadKey();          
            }      
        }

        public static class LzdTools
        {
            public static void Test(params string[] v)
            {
                if (v.Length > 0)
                    Console.WriteLine(v[0]);
               
                if (v.Length > 1)
                    Console.WriteLine(v[1]);
               
                if (v.Length > 2)
                    Console.WriteLine(v[2]);
               
                if (v.Length > 3)
                    Console.WriteLine(v[3]);
            }
        }
    }

  • 相关阅读:
    python3 使用代理
    oracle 删除重复记录
    oracle语句
    python 函数split()
    CentOS 6.6 中中文输入法设置
    CentOS 6.6 中设置Terminal快捷键
    vmware-workstation-11中centos-6.6安装
    利用powerdesigner反向数据库结构,生成ER图
    [转载]oracle 11g不能导出空表的多种解决方法
    [转载]新手入门:Spring的一些学习方法及意见
  • 原文地址:https://www.cnblogs.com/liuzhendong/p/2318271.html
Copyright © 2011-2022 走看看