zoukankan      html  css  js  c++  java
  • 第九章 参数

    1. 概述

      本章重点讲述向方法传递参数的各种方式,包括如何可选的指定参数,按名称指定参数,按引用传递参数,以及如何定义方法来接收可变数量的参数。

    2. 名词解释

    3. 主要内容

      3.1 可选参数和命名参数

        可选参数的一些规则和原则:

        ① 可以为方法、构造器方法和有参属性(C#索引器)的参数指定默认值。还可为委托定义中的参数指定默认值。

        ② 有默认值的参数必须放在没有默认值的所有参数之后。

        ③ 默认值必须是编译时能确定的常量值。

        ④ 注意不要重命名参数变量。

        ⑤ 如果方法是从模块外部调用的,更改参数的默认值具有潜在的危险性。

        ⑥ 如果参数用ref或out标识了,就不能设置默认值。

        命名参数的一些规则和原则:

        ① 命名参数只能出现在实参列表的尾部。

        ② 可按名称将实参传给没有默认值的参数。但是,所有要求的实参都必须传递。

        ③ C#不允许省略逗号之间的实参。可以以传参数名的方式实现。

        * C#中,用DefaultParameterValueAttribute 和 OptionalAttribute 来实现可选参数。

      3.2 隐式类型的局部变量

        针对一个方法中的局部变量,C#允许根据初始化表达式的类型来推断它的类型。(var)

      3.3 以传引用的方式向方法传递参数

        在C#中,使用关键字ref或out来实现。

      3.4 向方法传递可变数量的参数

        params关键字告诉编译器向参数应用 System.ParamArrayAttribute 的一个实例。

        ① 只有方法的最后一个参数才可以用params关键字来标记。

        ② params只能标识任意类型的一个一维数组。

        ③ 可变参数会造成额外的性能损失。建议用重载代替params。

      3.5 参数和返回类型的指导原则

        ① 声明方法的参数时,应尽量指定最弱的类型,最好是接口而不是基类。

        ② 相反,一般最好是将方法的返回类型声明为最强的类型。

      3.6 常量性

        在某些语言中(比如非托管C++),可将方法或参数声明为常量,从而禁止实例方法中的代码更改对象的任何字段。

        CLR没有提供对常量对象/实参的支持。

    4. 总结

      基本涵盖了CLR中参数的类型和传递方式。但是IL部分涉及较少,可以自己看一下。

  • 相关阅读:
    Hbase基础(十二):Kylin可视化
    Hbase基础(十一):Kylin快速入门
    Hbase基础(十):Kylin环境搭建
    Hbase基础(九):Kylin 概述
    Hbase基础(八):Sqoop 一些常用命令及参数
    Hbase基础(七):Sqoop 的简单使用案例
    Hbase基础(六):Sqoop 简介与原理、安装
    HBASE进阶(5):整合Phoenix
    frrouting mpls sr
    tcpdump mpls 多个mpls label
  • 原文地址:https://www.cnblogs.com/stone_lv/p/4308848.html
Copyright © 2011-2022 走看看