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]);
            }
        }
    }

  • 相关阅读:
    ES6中的class的详解
    JavaSrcipt中字符串和数组容易搞混的操作
    ES6中的数据结构Map的理解和描述
    ES6中新增数据结构Set的理解和用法详情描述
    ES6中的Promise的用法总结
    JS中的async/await的用法和理解
    字节跳动、拼多多前端面经
    前端项目优化 -Web 开发常用优化方案、Vue & React 项目优化
    记几个 DOM 操作技巧
    JavaScript 面试题
  • 原文地址:https://www.cnblogs.com/liuzhendong/p/2318271.html
Copyright © 2011-2022 走看看