zoukankan      html  css  js  c++  java
  • params关键字载入空值的陷阱

        在编写方法时,不确定这个方法要传入多少个参数,或者随着程序的开发速度,该方法的参数会发生很大变化,在C#中引入了params关键字,使用params修饰object类型的数组并作为方法的参数类型,可以解决方法参数不确定的问题。但是这里有一个问题,这个参数列表中的某个值不确定是否为空,就会发生运行时错误。

    static void Main(string[] args)
    {
    Program p = new Program();
    p.ShowInfo("asdf", 100, null);

    }

    private void ShowInfo(params object[] parameters)
    {
    string strOutPut = string.Empty;
    for (int i = 0; i < parameters.Length; i++)
    {
    strOutPut += parameters[i].ToString() + "\r\n";
    }
    Console.WriteLine("参数列表:\n{0}",strOutPut);
    Console.Read();
    }

    分析:当传第三个参数时报错,在调用ToString方法时产生了空引用异常。

    注意:在方法声明中params 之后不允许有任何其他的参数,并且在方法声明中只允许一个params关键字。

    ——当我们面对枯燥窘迫甚至是痛苦的生活时,只是缺少了提枪上阵去干他娘的勇气!
  • 相关阅读:
    int a=5,则 ++(a++)的值是?
    C中文件操作说明
    最大子序列和 o(n)
    括号匹配
    DOM、SAX、JDOM、DOM4J四种XML解析方法PK
    java中的trim()
    SAX解析XML
    ConcurrentHashMap完全解析(jdk6/7,8)
    为什么推荐Zookeeper作注册中心
    分布式锁的三种实现方式
  • 原文地址:https://www.cnblogs.com/vakeynb/p/parms.html
Copyright © 2011-2022 走看看